/* Opt-in shell. Load last and render data-immersive-shell="true" on <html>.
   The film stage, its scroll geometry and its CTA hitboxes are deliberately unstyled. */
:root[data-immersive-shell="true"] {
  --is-bg: #070c12;
  --is-panel: #10212c;
  --is-text: #f4eee2;
  --is-muted: #acc0ca;
  --is-accent: #80e5e8;
  --is-line: #344b58;
  --is-button-text: #07121a;
  --is-gutter: clamp(20px, 5vw, 112px);
  --is-space: clamp(64px, 9vw, 160px);
  --is-ease: cubic-bezier(.22, .68, 0, 1);
  color-scheme: dark;
}
:root[data-immersive-shell="true"][data-theme="light"] {
  --is-bg: #f4efe5;
  --is-panel: #e5e9e1;
  --is-text: #102a36;
  --is-muted: #49616a;
  --is-accent: #096175;
  --is-line: #a2b4b4;
  --is-button-text: #fffaf0;
  color-scheme: light;
}
:root[data-immersive-shell="true"] body {
  --bg: var(--is-bg);
  --bg2: var(--is-panel);
  --bg3: var(--is-panel);
  --surface: var(--is-panel);
  --surface2: var(--is-panel);
  --text: var(--is-text);
  --muted: var(--is-muted);
  --soft: var(--is-muted);
  --accent: var(--is-accent);
  --cyan: var(--is-accent);
  --line: var(--is-line);
  --border: var(--is-line);
  --border2: var(--is-line);
  --button-text: var(--is-button-text);
  background: var(--is-bg);
  color: var(--is-text);
  font-family: Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
:root[data-immersive-shell="true"] :is(.pw-root, .sw-root, .cw-introduction, .article-page, .journal-grid) {
  overflow-wrap: break-word;
}
:root[data-immersive-shell="true"] :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--is-accent);
  outline-offset: 5px;
}
:root[data-immersive-shell="true"] :is(.ambient-glow, .glow-cursor, .cursor-aura) { display: none !important; }
:root[data-immersive-shell="true"].glow-pointer,
:root[data-immersive-shell="true"] body { cursor: auto !important; }
:root[data-immersive-shell="true"] :is(a, button, summary, select) { cursor: pointer !important; }
:root[data-immersive-shell="true"] :is(input, textarea) { cursor: text !important; }
:root[data-immersive-shell="true"] :is(button, input, select, textarea):disabled { cursor: default !important; }
:root[data-immersive-shell="true"] :is(.scroll-fallback-reveal, .scroll-driven-reveal, .reveal-pending, .reveal) {
  opacity: 1;
  transform: none;
  animation: none;
}

/* One compact wordmark row; existing menu logic owns open/hidden state. */
:root[data-immersive-shell="true"] .header {
  min-height: 64px;
  padding: 8px var(--is-gutter);
  gap: clamp(16px, 2.5vw, 48px);
  background: var(--is-bg);
  border-bottom: 1px solid var(--is-line);
  box-shadow: none;
}
:root[data-immersive-shell="true"] .header .brand { padding: 0; min-height: 44px; }
:root[data-immersive-shell="true"] .header nav { gap: clamp(18px, 2.2vw, 38px); }
:root[data-immersive-shell="true"] .header nav a {
  font-size: .81rem;
  letter-spacing: .015em;
  font-weight: 500;
  min-height: 44px;
}
:root[data-immersive-shell="true"] .header nav > a:not(.button) {
  border: 0;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 7px;
  text-decoration-thickness: 1px;
  transition: color .2s, text-decoration-color .2s;
}
:root[data-immersive-shell="true"] .header nav > a:not(.button):is(:hover, [aria-current="page"]) {
  color: var(--is-accent);
  text-decoration-color: currentColor;
}
:root[data-immersive-shell="true"] .header :is(.button, #menu, select) {
  border-radius: 0;
  min-height: 44px;
  box-shadow: none;
}
:root[data-immersive-shell="true"] .header #menu {
  padding: 9px 14px;
  background: transparent;
  border: 1px solid var(--is-line);
  font-size: .8rem;
}
:root[data-immersive-shell="true"] .header #menu[aria-expanded="true"] {
  background: var(--is-accent);
  border-color: var(--is-accent);
  color: var(--is-button-text);
}
:root[data-immersive-shell="true"] .header .theme-label { margin: 0; flex-shrink: 0; }
:root[data-immersive-shell="true"] .header select {
  background: var(--is-bg);
  color: var(--is-text);
  width: 88px;
  padding-inline: 9px;
  border-color: var(--is-line);
  font-size: .75rem;
}
:root[data-immersive-shell="true"] :is(.footer, .site-footer) {
  background: var(--is-bg);
  color: var(--is-muted);
  border-top: 1px solid var(--is-line);
  border-radius: 0;
  box-shadow: none;
  padding-block: clamp(44px, 6vw, 96px) 80px;
}
:root[data-immersive-shell="true"] .footer.wrap {
  width: calc(100% - var(--is-gutter) * 2);
  max-width: 1680px;
  gap: 32px 8%;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
:root[data-immersive-shell="true"] .footer :is(p, small) { font-size: .85rem; line-height: 1.75; }
:root[data-immersive-shell="true"] .footer nav { gap: 6px 28px; }
:root[data-immersive-shell="true"] .footer nav a { font-size: .95rem; text-decoration-thickness: 1px; }
:root[data-immersive-shell="true"] .footer a:hover { color: var(--is-accent); }
:root[data-immersive-shell="true"] .contact-band {
  border-radius: 0;
  border-block: 1px solid var(--is-line);
  background: transparent;
  padding: var(--is-space) 0;
  margin-block: 0 var(--is-space);
  box-shadow: none;
}
:root[data-immersive-shell="true"] .contact-band h2 {
  font-size: clamp(2.4rem, 5.4vw, 6rem);
  line-height: 1.02;
  font-weight: 450;
  max-width: 14ch;
}
:root[data-immersive-shell="true"] :is(.contact-band .button, .pw-button, .sw-button, .cw-form-shortcut) {
  border-radius: 0;
  min-height: 52px;
  padding: 15px 24px;
  font-size: .9rem;
  line-height: 1.5;
  box-shadow: none;
  transform: none;
}

/* Products: an opening statement, one full-width product stage, then editorial rows. */
:root[data-immersive-shell="true"] [data-product-world-review] #main > .section.wrap,
:root[data-immersive-shell="true"] .pw-root {
  background: var(--is-bg);
  color: var(--is-text);
  --pw-paper: var(--is-bg);
  --pw-ink: var(--is-text);
  --pw-cyan: #80e5e8;
}
:root[data-immersive-shell="true"] [data-product-world-review] #main > .section.wrap > .eyebrow {
  padding: 46px var(--is-gutter) 0;
  color: var(--is-muted);
  font-size: .72rem;
}
:root[data-immersive-shell="true"] .pw-shell { padding: var(--is-space) var(--is-gutter); }
:root[data-immersive-shell="true"] .pw-opening {
  padding-block: 48px var(--is-space);
  grid-template-columns: minmax(0, 1fr) minmax(180px, .26fr);
  gap: 48px;
  color: var(--is-text);
}
:root[data-immersive-shell="true"] .pw-opening h1 {
  font-size: clamp(3.25rem, 8.2vw, 9rem);
  line-height: .97;
  font-weight: 450;
  letter-spacing: -.065em;
  max-width: 12ch;
  margin-bottom: 36px;
}
:root[data-immersive-shell="true"] .pw-root em { font-family: inherit; font-style: normal; color: var(--is-accent); }
:root[data-immersive-shell="true"] .pw-opening > div > p { color: var(--is-muted); font-size: 1.05rem; max-width: 42ch; }
:root[data-immersive-shell="true"] .pw-opening nav { min-width: 0; }
:root[data-immersive-shell="true"] .pw-opening nav a {
  min-height: 48px;
  font-size: .85rem;
  color: var(--is-text);
  border-color: var(--is-line);
  padding-block: 14px;
}
:root[data-immersive-shell="true"] .pw-feature {
  padding: 0;
  background: #071725;
  color: #f4eee2;
  --is-accent: #80e5e8;
  --is-muted: #acc0ca;
  --is-line: #344b58;
}
:root[data-immersive-shell="true"] .pw-feature-panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: var(--is-space) var(--is-gutter);
  min-height: min(850px, 88svh);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 8%;
  background: radial-gradient(ellipse at 78% 65%, #17648155, transparent 58%), #071725;
}
:root[data-immersive-shell="true"] .pw-feature-panel::after { display: none; }
:root[data-immersive-shell="true"] .pw-feature h2 { font-size: clamp(3rem, 6.8vw, 7rem); letter-spacing: -.065em; }
:root[data-immersive-shell="true"] .pw-feature-description { color: #b8cbd4; font-size: 1.05rem; max-width: 38ch; }
:root[data-immersive-shell="true"] .pw-mail-object { height: clamp(300px, 34vw, 600px); margin: 0; }
:root[data-immersive-shell="true"] .pw-mail-object figcaption { font-size: .75rem; color: #abc4cf; }
:root[data-immersive-shell="true"] .pw-status { border-radius: 0; font-size: .7rem; padding: 8px 11px; }
:root[data-immersive-shell="true"] .pw-platforms { flex-wrap: wrap; }
:root[data-immersive-shell="true"] .pw-platforms span { font-size: .75rem; border-radius: 0; }
:root[data-immersive-shell="true"] :is(.pw-release-note, .pw-project-note) summary { min-height: 44px; font-size: .85rem; }
:root[data-immersive-shell="true"] .pw-release-note p { color: #b8cbd4; font-size: .85rem; }
:root[data-immersive-shell="true"] :is(.pw-workshop, .pw-next) {
  background: var(--is-bg);
  color: var(--is-text);
  color-scheme: inherit;
}
:root[data-immersive-shell="true"] .pw-root h2 { font-weight: 450; line-height: 1.04; }
:root[data-immersive-shell="true"] :is(.pw-section-heading h2, .pw-custom h2, .pw-next h2) { font-size: clamp(2.6rem, 5.8vw, 6rem); }
:root[data-immersive-shell="true"] .pw-section-heading { gap: 24px 8%; margin-bottom: 64px; }
:root[data-immersive-shell="true"] .pw-eyebrow { color: var(--is-accent); font-size: .72rem; }
:root[data-immersive-shell="true"] .pw-section-heading > p:last-child { color: var(--is-muted); font-size: 1rem; }
:root[data-immersive-shell="true"] .pw-workshop-grid { display: block; }
:root[data-immersive-shell="true"] .pw-project {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 100px);
  border: 0;
  border-top: 1px solid var(--is-line);
  border-radius: 0;
  padding-block: clamp(40px, 6vw, 100px);
  background: transparent;
  overflow: visible;
}
:root[data-immersive-shell="true"] .pw-project:last-child { border-bottom: 1px solid var(--is-line); }
:root[data-immersive-shell="true"] .pw-project:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
:root[data-immersive-shell="true"] .pw-project:nth-child(even) .pw-project-art { order: 2; }
:root[data-immersive-shell="true"] .pw-project-art {
  height: auto;
  min-height: 300px;
  aspect-ratio: 6 / 5;
  border: 0;
  border-radius: 0;
  background: radial-gradient(ellipse at 50% 70%, #377c8555, transparent 65%), var(--is-panel);
}
:root[data-immersive-shell="true"] .pw-project-copy { min-width: 0; padding: 0; }
:root[data-immersive-shell="true"] .pw-project-copy h3 { font-size: clamp(2.3rem, 4vw, 4.5rem); font-weight: 450; }
:root[data-immersive-shell="true"] :is(.pw-project-copy > p, .pw-project-note p, .pw-art-note) { font-size: 1rem; color: var(--is-muted); }
:root[data-immersive-shell="true"] .pw-project-note { border-color: var(--is-line); }
:root[data-immersive-shell="true"] .pw-project-note summary { color: var(--is-text); }
:root[data-immersive-shell="true"] .pw-text-link { min-height: 44px; font-size: .9rem; }
:root[data-immersive-shell="true"] .pw-root :is(.pw-text-link, summary):hover { color: var(--is-accent); }
:root[data-immersive-shell="true"] .pw-custom {
  background: #0a2030;
  color: #f4eee2;
  --is-accent: #80e5e8;
  --is-muted: #acc0ca;
  --is-line: #42616e;
}
:root[data-immersive-shell="true"] .pw-custom-detail { padding: 36px 0; border: 0; border-block: 1px solid var(--is-line); border-radius: 0; background: transparent; }
:root[data-immersive-shell="true"] :is(.pw-custom-copy > p:not(.pw-eyebrow), .pw-custom-detail > p, .pw-custom-detail p.pw-muted, .pw-custom-detail li) { color: #b8cbd4; font-size: 1rem; }
:root[data-immersive-shell="true"] .pw-next > div:last-child > p { color: var(--is-muted); font-size: 1rem; }

/* Service-detail pages: oversized type and intact visual artwork, with native disclosures. */
:root[data-immersive-shell="true"] .sw-root {
  --sw-paper: var(--is-bg);
  --sw-ink: var(--is-text);
  --sw-line: var(--is-line);
  --sw-cyan: #80e5e8;
  background: var(--is-bg);
  color: var(--is-text);
}
:root[data-immersive-shell="true"] .sw-shell { padding: var(--is-space) var(--is-gutter); }
:root[data-immersive-shell="true"] .sw-hero {
  padding: clamp(48px, 7vw, 120px) var(--is-gutter) 36px;
  min-height: calc(100svh - 64px);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px 4%;
  background: radial-gradient(ellipse at 80% 50%, #367e8c24, transparent 60%), var(--is-bg);
  color: var(--is-text);
  color-scheme: inherit;
}
:root[data-immersive-shell="true"] .sw-hero h1 {
  font-size: clamp(3rem, 6.7vw, 7.5rem);
  font-weight: 450;
  letter-spacing: -.065em;
  line-height: .99;
  max-width: 12ch;
  overflow-wrap: break-word;
}
:root[data-immersive-shell="true"] .sw-root em { font-family: inherit; font-style: normal; }
:root[data-immersive-shell="true"] .sw-hero em { color: var(--is-accent); }
:root[data-immersive-shell="true"] .sw-description { color: var(--is-muted); font-size: 1.05rem; max-width: 40ch; }
:root[data-immersive-shell="true"] .sw-back { min-height: 44px; align-items: center; font-size: .8rem; margin-bottom: 20px; }
:root[data-immersive-shell="true"] .sw-hero .sw-back { color: var(--is-muted) !important; }
:root[data-immersive-shell="true"] .sw-hero .sw-back:hover { color: var(--is-accent) !important; }
:root[data-immersive-shell="true"] .sw-world { max-width: none; }
:root[data-immersive-shell="true"] .sw-world figcaption { font-size: .75rem; color: var(--is-muted) !important; }
:root[data-immersive-shell="true"] .sw-world figcaption span:last-child { font-size: .75rem; white-space: normal; }
:root[data-immersive-shell="true"] .sw-hero-footer {
  position: static;
  grid-column: 1 / -1;
  gap: 24px;
  margin-top: 24px;
  border-color: var(--is-line);
}
:root[data-immersive-shell="true"] .sw-hero-footer :is(p, span) { font-size: .8rem; color: var(--is-muted); }
:root[data-immersive-shell="true"] .sw-hero-footer a { width: 48px; height: 48px; flex-shrink: 0; }
:root[data-immersive-shell="true"] .sw-root h2 { font-size: clamp(2.6rem, 5.8vw, 6rem); font-weight: 450; line-height: 1.04; }
:root[data-immersive-shell="true"] .sw-light { background: var(--is-bg); color: var(--is-text); color-scheme: inherit; }
:root[data-immersive-shell="true"] .sw-eyebrow,
:root[data-immersive-shell="true"] .sw-light :is(.sw-eyebrow, em, .sw-plus, .sw-direction-symbol) { color: var(--is-accent); font-size: .72rem; }
:root[data-immersive-shell="true"] .sw-light :is(em, .sw-plus, .sw-direction-symbol) { font-size: inherit; }
:root[data-immersive-shell="true"] .sw-hero .sw-eyebrow { color: var(--is-accent); }
:root[data-immersive-shell="true"] .sw-light :is(.sw-intro > p:last-child, summary small, details > div > p, ul, .sw-process p) { color: var(--is-muted); font-size: 1rem; }
:root[data-immersive-shell="true"] .sw-light :is(details, .sw-process article) { border-color: var(--is-line); }
:root[data-immersive-shell="true"] .sw-light a:hover { color: var(--is-accent); }
:root[data-immersive-shell="true"] .sw-directions { grid-template-columns: 1fr; gap: 0; }
:root[data-immersive-shell="true"] .sw-directions details { padding: 0; border-bottom: 0; }
:root[data-immersive-shell="true"] .sw-directions details:last-child { border-bottom: 1px solid var(--is-line); }
:root[data-immersive-shell="true"] .sw-directions summary { font-size: clamp(1.5rem, 3vw, 3rem); padding-block: 30px; gap: 24px; }
:root[data-immersive-shell="true"] .sw-directions summary small { max-width: 64ch; font-weight: 400; }
:root[data-immersive-shell="true"] .sw-directions details > div { padding: 0 0 32px 48px; max-width: 80ch; }
:root[data-immersive-shell="true"] .sw-text-link { min-height: 44px; font-size: .9rem; }
:root[data-immersive-shell="true"] :is(.sw-system, .sw-questions-section, .sw-related) {
  --is-accent: #80e5e8;
  --is-muted: #b8cbd4;
  --is-line: #344b58;
  --sw-line: #344b58;
}
:root[data-immersive-shell="true"] :is(.sw-system-copy > p:not(.sw-eyebrow), .sw-principles li, .sw-questions-section > div > p:last-child, .sw-questions details p) { font-size: 1rem; color: #b8cbd4; }
:root[data-immersive-shell="true"] .sw-questions summary { font-size: 1.12rem; padding-block: 28px; }
:root[data-immersive-shell="true"] .sw-process { gap: 40px; }
:root[data-immersive-shell="true"] .sw-process h3 { font-size: 1.7rem; }
:root[data-immersive-shell="true"] .sw-related > div a { font-size: 1rem; min-height: 56px; }

/* Admin-managed additions use the same editorial rhythm as the authored journeys. */
:root[data-immersive-shell="true"] .catalogue-section {
  width: calc(100% - var(--is-gutter) * 2);
  max-width: 1680px;
  padding-block: var(--is-space);
}
:root[data-immersive-shell="true"] .catalogue-section > h2 {
  max-width: 16ch;
  font-size: clamp(2.6rem, 5.8vw, 6rem);
  font-weight: 450;
  line-height: 1.04;
}
:root[data-immersive-shell="true"] .catalogue-grid { display: block; margin-top: 56px; }
:root[data-immersive-shell="true"] .catalogue-grid > article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px 8%;
  padding: 40px 0;
  border: 0;
  border-top: 1px solid var(--is-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-width: 0;
  overflow-wrap: anywhere;
}
:root[data-immersive-shell="true"] .catalogue-grid > article:last-child { border-bottom: 1px solid var(--is-line); }
:root[data-immersive-shell="true"] .catalogue-grid h3 { grid-column: 1; font-size: clamp(2rem, 3.7vw, 4rem); font-weight: 450; line-height: 1.08; margin: 0; }
:root[data-immersive-shell="true"] .catalogue-grid .eyebrow { grid-column: 1 / -1; margin: 0; }
:root[data-immersive-shell="true"] .catalogue-grid p:not(.eyebrow) { grid-column: 2; color: var(--is-muted); font-size: 1rem; line-height: 1.75; margin: 0; }
:root[data-immersive-shell="true"] .catalogue-grid .text-link { grid-column: 2; justify-self: start; min-height: 48px; }

/* Contact keeps the original fields, error states and submission behavior. */
:root[data-immersive-shell="true"] [data-contact-world-review="true"] {
  --cw-paper: var(--is-bg);
  --cw-ink: var(--is-text);
  --cw-muted: var(--is-muted);
  --cw-line: var(--is-line);
  --cw-accent: var(--is-accent);
}
:root[data-immersive-shell="true"] [data-contact-world-review] .contact-grid {
  width: calc(100% - var(--is-gutter) * 2);
  max-width: 1680px;
  padding-block: var(--is-space);
  gap: clamp(40px, 9vw, 170px);
}
:root[data-immersive-shell="true"] .cw-introduction h1 {
  font-size: clamp(3.2rem, 6.3vw, 7rem);
  font-weight: 450;
  line-height: .99;
  letter-spacing: -.065em;
}
:root[data-immersive-shell="true"] .cw-introduction .eyebrow { font-size: .72rem; }
:root[data-immersive-shell="true"] .cw-introduction .lead { font-size: 1.05rem; }
:root[data-immersive-shell="true"] .cw-connections { height: 180px; margin-block: 35px 48px; }
:root[data-immersive-shell="true"] .cw-direct a { max-width: 100%; overflow-wrap: anywhere; }
:root[data-immersive-shell="true"] [data-contact-world-review] #enquiry {
  padding: 32px 0 0;
  border: 0;
  border-top: 1px solid var(--is-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-width: 0;
}
:root[data-immersive-shell="true"] .cw-form-heading h2 { font-size: clamp(2rem, 3vw, 3.5rem); line-height: 1.06; }
:root[data-immersive-shell="true"] .cw-form-heading > p:last-child { font-size: 1rem; }
:root[data-immersive-shell="true"] [data-contact-world-review] #enquiry label { font-size: .95rem; }
:root[data-immersive-shell="true"] [data-contact-world-review] #enquiry :is(input, select, textarea) {
  background: var(--is-panel);
  color: var(--is-text);
  border: 1px solid var(--is-line);
  border-radius: 0;
  padding: 15px;
  font-size: 1rem;
  line-height: 1.5;
  min-height: 54px;
}
:root[data-immersive-shell="true"] [data-contact-world-review] #enquiry [aria-invalid="true"] { border: 2px solid #c4342c; }
:root[data-immersive-shell="true"][data-theme="dark"] [data-contact-world-review] #enquiry [aria-invalid="true"] { border-color: #ffb9b3; }
:root[data-immersive-shell="true"] [data-contact-world-review] #enquiry .button {
  border-radius: 0;
  min-height: 54px;
  font-size: .95rem;
  padding-inline: 28px;
  color: var(--is-button-text);
}
:root[data-immersive-shell="true"] [data-contact-world-review] :is(.error-summary, .success) { border-radius: 0; }
:root[data-immersive-shell="true"] [data-contact-world-review] #enquiry > .muted { font-size: .85rem; }

/* Journal and privacy remain real documents; their composition joins the same shell. */
:root[data-immersive-shell="true"] [data-legacy-world-review] .container { width: calc(100% - var(--is-gutter) * 2); max-width: 1680px; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .nav-shell {
  min-height: 64px;
  height: auto;
  gap: 20px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: var(--is-bg);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
:root[data-immersive-shell="true"] [data-legacy-world-review] .site-header { position: sticky; top: 0; pointer-events: auto; background: var(--is-bg); border-color: var(--is-line); }
:root[data-immersive-shell="true"] [data-legacy-world-review] .site-header.scrolled .nav-shell { height: auto; }
:root[data-immersive-shell="true"] [data-legacy-world-review] :is(.theme-button, .motion-button, .menu-toggle, .btn) { border-radius: 0; box-shadow: none; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .menu-toggle { min-width: 44px; min-height: 44px; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .nav-cta { min-height: 44px; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .subpage-hero { padding-block: var(--is-space); }
:root[data-immersive-shell="true"] [data-legacy-world-review] :is(.subpage-hero h1, .article-page h1) {
  font-size: clamp(3rem, 7.8vw, 8rem);
  line-height: 1;
  font-weight: 450;
  letter-spacing: -.065em;
  max-width: 15ch;
  overflow-wrap: break-word;
}
:root[data-immersive-shell="true"] [data-legacy-world-review] :is(.subpage-hero h1, .article-page h1) em { color: var(--is-accent); background: none; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-grid { display: block; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px clamp(28px, 6vw, 100px);
  padding: 56px 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--is-line);
  border-radius: 0;
  box-shadow: none;
  transform: none;
}
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-art { grid-column: 1; grid-row: 1 / span 5; min-height: 300px; height: auto; margin: 0; border-radius: 0; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-card > :not(.journal-art) { grid-column: 2; margin: 0; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-card h3 { font-size: clamp(2rem, 3.6vw, 4rem); line-height: 1.06; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-card p { font-size: 1rem; line-height: 1.75; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .journal-more { min-height: 44px; align-self: end; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .article-page { padding-block: var(--is-space); }
:root[data-immersive-shell="true"] [data-legacy-world-review] .article-page > .container.narrow { max-width: 960px; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .article-content { max-width: 72ch; font-size: 1.05rem; line-height: 1.8; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .article-content h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.15; margin-top: 1.7em; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .article-content pre { max-width: 100%; overflow: auto; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .article-content :is(a, code) { overflow-wrap: anywhere; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .footer-top { gap: 40px; }
:root[data-immersive-shell="true"] [data-legacy-world-review] .footer-links a { display: inline-flex; align-items: center; min-height: 44px; }

/* Optional pointer light is strictly local to decorative surfaces. No canvas or render loop. */
:root[data-immersive-shell="true"] .is-pointer-surface { position: relative; isolation: isolate; }
:root[data-immersive-shell="true"] .is-pointer-light {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(260px circle at var(--is-pointer-x, 50%) var(--is-pointer-y, 50%), #80e5e821, transparent 74%);
  opacity: 0;
  transition: opacity .35s var(--is-ease);
}
:root[data-immersive-shell="true"] .is-pointer-active > .is-pointer-light { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  :root[data-immersive-shell="true"] :is(.pw-text-link, .sw-text-link, .cw-direct a, .footer a, .journal-more) {
    transition: color .2s, text-decoration-color .2s;
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
  }
  :root[data-immersive-shell="true"] :is(.pw-text-link, .sw-text-link, .cw-direct a, .footer a, .journal-more):hover { color: var(--is-accent); }
}
@media (max-width: 1100px) {
  :root[data-immersive-shell="true"] .header { gap: 14px; flex-wrap: wrap; }
  :root[data-immersive-shell="true"] .header #navigation {
    position: static;
    flex-basis: 100%;
    display: grid;
    grid-template-columns: 1fr;
    padding: 14px 0;
    gap: 0;
    max-height: none;
    overflow: visible;
    box-shadow: none;
    background: var(--is-bg);
    border: 0;
  }
  :root[data-immersive-shell="true"] .header #menu:not([hidden]) ~ #navigation {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 20px var(--is-gutter) 28px;
    max-height: calc(100svh - 64px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-bottom: 1px solid var(--is-line);
  }
  :root[data-immersive-shell="true"] .header nav > a:not(.button) { font-size: clamp(1.5rem, 4vw, 2.5rem); line-height: 1.3; padding: 12px 0; }
  :root[data-immersive-shell="true"] .header nav .button { justify-self: start; margin-top: 14px; }
  :root[data-immersive-shell="true"] .sw-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root[data-immersive-shell="true"] .pw-opening { gap: 32px; }
  :root[data-immersive-shell="true"] [data-contact-world-review] .contact-grid { gap: 40px; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .menu-toggle { display: block; order: 3; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 20px var(--is-gutter) 28px;
    max-height: calc(100svh - 64px);
    overflow-y: auto;
    overscroll-behavior: contain;
    gap: 0;
    border: 0;
    border-bottom: 1px solid var(--is-line);
    border-radius: 0;
    background: var(--is-bg);
    box-shadow: none;
  }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .main-nav.open { display: flex; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .main-nav > a { font-size: clamp(1.35rem, 3vw, 2rem); padding: 12px 0; }
}
@media (max-width: 760px) {
  :root[data-immersive-shell="true"] { --is-gutter: 20px; --is-space: 68px; }
  :root[data-immersive-shell="true"] .header { gap: 10px; }
  :root[data-immersive-shell="true"] .header .theme-brand { width: 120px; height: 15px; }
  :root[data-immersive-shell="true"] .header select { width: 78px; max-width: 78px; }
  :root[data-immersive-shell="true"] .footer.wrap { grid-template-columns: 1fr; }
  :root[data-immersive-shell="true"] .footer nav { justify-content: start; }
  :root[data-immersive-shell="true"] .contact-band { gap: 32px; }
  :root[data-immersive-shell="true"] .pw-opening { display: block; padding-top: 32px; }
  :root[data-immersive-shell="true"] .pw-opening h1 { font-size: clamp(3.25rem, 11vw, 5.5rem); }
  :root[data-immersive-shell="true"] .pw-opening nav { flex-direction: row; flex-wrap: wrap; gap: 8px 22px; margin-top: 32px; }
  :root[data-immersive-shell="true"] .pw-feature-panel { display: grid; grid-template-columns: 1fr; gap: 42px; min-height: 0; }
  :root[data-immersive-shell="true"] .pw-mail-object { order: 0; height: clamp(280px, 85vw, 480px); max-width: 480px; justify-self: center; }
  :root[data-immersive-shell="true"] .pw-feature h2 { font-size: clamp(3rem, 10vw, 5rem); }
  :root[data-immersive-shell="true"] .pw-section-heading { display: block; }
  :root[data-immersive-shell="true"] .pw-section-heading h2 { margin-block: 24px; }
  :root[data-immersive-shell="true"] .pw-project,
  :root[data-immersive-shell="true"] .pw-project:nth-child(even) { grid-template-columns: 1fr; gap: 32px; }
  :root[data-immersive-shell="true"] .pw-project:nth-child(even) .pw-project-art { order: 0; }
  :root[data-immersive-shell="true"] .pw-project-art { min-height: 250px; aspect-ratio: 6 / 5; }
  :root[data-immersive-shell="true"] .catalogue-grid > article { grid-template-columns: 1fr; gap: 22px; }
  :root[data-immersive-shell="true"] .catalogue-grid > article > * { grid-column: 1; }
  :root[data-immersive-shell="true"] :is(.pw-custom, .pw-next) { grid-template-columns: 1fr; gap: 40px; }
  :root[data-immersive-shell="true"] .sw-hero { grid-template-columns: 1fr; padding-top: 44px; gap: 28px; }
  :root[data-immersive-shell="true"] .sw-hero h1 { font-size: clamp(3rem, 11vw, 5rem); max-width: 14ch; }
  :root[data-immersive-shell="true"] .sw-world { max-width: 600px; }
  :root[data-immersive-shell="true"] .sw-world-crop { max-height: none; }
  :root[data-immersive-shell="true"] .sw-hero-footer { flex-wrap: wrap; margin-top: 0; gap: 12px; }
  :root[data-immersive-shell="true"] .sw-hero-footer > span { max-width: none; }
  :root[data-immersive-shell="true"] .sw-hero-footer p { flex: 1 1 50%; }
  :root[data-immersive-shell="true"] .sw-intro { display: block; }
  :root[data-immersive-shell="true"] .sw-directions summary { gap: 16px; }
  :root[data-immersive-shell="true"] .sw-directions details > div { padding-left: 0; }
  :root[data-immersive-shell="true"] [data-contact-world-review] .contact-grid { grid-template-columns: 1fr; gap: 60px; }
  :root[data-immersive-shell="true"] .cw-introduction h1 { font-size: clamp(3.25rem, 11vw, 5.5rem); }
  :root[data-immersive-shell="true"] .cw-connections { height: 140px; max-width: 320px; }
  :root[data-immersive-shell="true"] .cw-form-shortcut { width: auto; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .journal-card { grid-template-columns: 1fr; gap: 24px; padding-block: 40px; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .journal-art { grid-column: 1; grid-row: auto; min-height: 260px; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .journal-card > :not(.journal-art) { grid-column: 1; }
}
@media (max-width: 380px) {
  :root[data-immersive-shell="true"] { --is-gutter: 16px; }
  :root[data-immersive-shell="true"] .header { padding-inline: 12px; gap: 8px; }
  :root[data-immersive-shell="true"] .header .theme-brand { width: 104px; height: 13px; }
  :root[data-immersive-shell="true"] .header #menu { padding-inline: 10px; }
  :root[data-immersive-shell="true"] .header select { width: 74px; max-width: 74px; padding-inline: 6px; }
  :root[data-immersive-shell="true"] :is(.pw-opening h1, .cw-introduction h1, .sw-hero h1) { font-size: 2.9rem; }
  :root[data-immersive-shell="true"] :is(.sw-process, .sw-related > div) { grid-template-columns: 1fr; }
  :root[data-immersive-shell="true"] .sw-principles li { grid-template-columns: 1fr; gap: 6px; }
  :root[data-immersive-shell="true"] .pw-project-art { min-height: 230px; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .nav-shell { gap: 8px; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .site-brand.review-brand { width: 112px; flex-basis: 112px; }
  :root[data-immersive-shell="true"] [data-legacy-world-review] .site-brand .review-brand-images { transform: scale(.7); transform-origin: left center; }
}
@media (prefers-reduced-motion: reduce) {
  :root[data-immersive-shell="true"] :is(.header, .footer, .pw-root, .sw-root, .contact-grid, .site-header, .site-footer, .journal-grid, .article-page) *,
  :root[data-immersive-shell="true"] :is(.header, .footer, .pw-root, .sw-root, .contact-grid, .site-header, .site-footer, .journal-grid, .article-page) *::before,
  :root[data-immersive-shell="true"] :is(.header, .footer, .pw-root, .sw-root, .contact-grid, .site-header, .site-footer, .journal-grid, .article-page) *::after { animation: none !important; transition: none !important; }
  :root[data-immersive-shell="true"] .is-pointer-light { display: none; }
}
@media (forced-colors: active) {
  :root[data-immersive-shell="true"] .is-pointer-light { display: none; }
  :root[data-immersive-shell="true"] :is(.header button, .header select, .pw-button, .sw-button, .cw-form-shortcut, #enquiry .button) { border: 1px solid ButtonText; }
  :root[data-immersive-shell="true"] :is(a, button, summary, input, select, textarea):focus-visible { outline-color: Highlight; }
}

/* Static native cursor assets: no tracking layer, event handlers or render loop.
   Both SVGs have explicit dimensions/hotspots and a dark keyline for light areas.
   Unsupported SVG cursors fall back to native; accessibility preferences do too. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  :root[data-immersive-shell="true"],
  :root[data-immersive-shell="true"].glow-pointer,
  :root[data-immersive-shell="true"] body {
    cursor: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'%20fill='none'%20stroke='%2307121a'%20stroke-width='3'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'%20fill='none'%20stroke='%2380e5e8'%20stroke-width='1.5'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.5'%20fill='%23f4eee2'%20stroke='%2307121a'%20stroke-width='1'/%3E%3C/svg%3E") 12 12, auto !important;
  }
  :root[data-immersive-shell="true"] :is(a, button, summary, [role="button"]) {
    cursor: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3E%3Ccircle%20cx='16'%20cy='16'%20r='12'%20fill='none'%20stroke='%2307121a'%20stroke-width='3'/%3E%3Ccircle%20cx='16'%20cy='16'%20r='12'%20fill='none'%20stroke='%2380e5e8'%20stroke-width='2'/%3E%3Ccircle%20cx='16'%20cy='16'%20r='6'%20fill='none'%20stroke='%2380e5e8'%20stroke-width='1'/%3E%3Ccircle%20cx='16'%20cy='16'%20r='2'%20fill='%23f4eee2'%20stroke='%2307121a'%20stroke-width='1'/%3E%3C/svg%3E") 16 16, pointer !important;
  }
  :root[data-immersive-shell="true"] :is(form, input, textarea, select, option, label, [contenteditable="true"], [contenteditable=""]),
  :root[data-immersive-shell="true"] form :is(a, button, summary, [role="button"]) {
    cursor: auto !important;
  }
  :root[data-immersive-shell="true"] :is(textarea, [contenteditable="true"], [contenteditable=""], input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="tel"], input[type="password"], input[type="number"]) {
    cursor: text !important;
  }
  :root[data-immersive-shell="true"] :is(button, input, select, textarea):disabled,
  :root[data-immersive-shell="true"] [aria-disabled="true"] { cursor: default !important; }
}
