/*
Theme Name: DEBUG for Ollie — Refined
Theme URI: https://debug.legal/
Description: Child theme for Ollie, tailored for DEBUG — DPO externalisé, Legal Operations et projets juridiques.
Author: DEBUG
Template: ollie
Version: 0.5.14
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.3
Text Domain: debug-ollie-refined
Tags: block-theme, business, one-column, full-site-editing
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

:root {
  --debug-radius-sm: 9px;
  --debug-radius-md: 15px;
  --debug-radius-lg: 22px;
  --debug-shadow: 0 16px 44px rgba(16,32,51,.07);
  --debug-shadow-soft: 0 8px 24px rgba(16,32,51,.045);
  --debug-section-heading-gap: 18px;
}

html { scroll-behavior: smooth; }
.debug-home-section[id] { scroll-margin-top: 78px; }

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: var(--wp--preset--color--base);
}

body.admin-bar .debug-home-section[id] { scroll-margin-top: 110px; }

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--wp--preset--color--primary);
  outline-offset: 3px;
  border-radius: 4px;
}

.debug-section-inner,
.debug-header-inner,
.debug-footer-inner,
.debug-page-shell {
  width: min(var(--wp--style--global--wide-size), calc(100% - 40px));
  margin-inline: auto;
}

.debug-main { padding: 0; }

/* Typography */
.debug-home-section h1,
.debug-home-section h2,
.debug-page-main h1,
.debug-page-main h2 {
  font-family: var(--wp--preset--font-family--expanded, var(--wp--preset--font-family--primary, sans-serif));
}

.debug-home-section h2,
.debug-page-main h2 {
  text-wrap: balance;
  font-size: clamp(1.8rem, 2.8vw, 2.45rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.debug-section-label {
  margin: 0;
  color: var(--wp--preset--color--secondary);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .095em;
  text-transform: uppercase;
}


/* One shared label-to-content rhythm across homepage sections. */
.debug-section-inner > .debug-section-label + *,
.debug-about-copy > .debug-section-label + * {
  margin-block-start: var(--debug-section-heading-gap) !important;
}
.debug-section-label::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--wp--preset--color--debug-warm);
  vertical-align: .06em;
}

.debug-section-intro {
  max-width: 68ch;
  margin-bottom: 0;
  color: var(--wp--preset--color--secondary);
  font-size: 1rem;
  line-height: 1.65;
}

/* Header */
.debug-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(16,32,51,.08);
  backdrop-filter: blur(14px);
}

body.admin-bar .debug-header { top: 32px; }

.debug-header-inner {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.debug-brand {
  margin: 0;
  white-space: nowrap;
  line-height: 1;
}

.debug-brand a {
  display: inline-flex;
  align-items: baseline;
  gap: .02em;
  color: var(--wp--preset--color--main);
  text-decoration: none;
}

.debug-brand-main {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: .082em;
}

.debug-brand-tld {
  color: var(--wp--preset--color--primary);
  font-size: .79rem;
  font-weight: 700;
  letter-spacing: -.015em;
}

.debug-nav { flex: 1; justify-content: flex-end; }
.debug-nav .wp-block-navigation__container {
  gap: clamp(16px, 2.2vw, 30px);
  align-items: center;
}

.debug-nav .wp-block-navigation-item__content {
  color: var(--wp--preset--color--main);
  text-decoration: none;
  font-size: .94rem;
  font-weight: 600;
  white-space: nowrap;
}

.debug-nav .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--primary);
}

.debug-nav .wp-block-navigation__submenu-container {
  min-width: 215px;
  padding: 8px;
  border: 1px solid var(--wp--preset--color--border-light);
  border-radius: var(--debug-radius-sm);
  background: var(--wp--preset--color--base);
  box-shadow: var(--debug-shadow);
}

.debug-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: .62rem .72rem;
  border-radius: 7px;
}

.debug-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: var(--wp--preset--color--primary-accent);
}

.debug-nav .debug-nav-cta-link { margin-left: 4px; }
.debug-nav .debug-nav-cta-link > .wp-block-navigation-item__content {
  padding: .7rem 1rem;
  border-radius: var(--debug-radius-sm);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  text-decoration: none;
  font-size: .91rem;
  font-weight: 700;
  box-shadow: 0 7px 18px rgba(40,89,246,.16);
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.debug-nav .debug-nav-cta-link > .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--base);
  filter: brightness(.94);
  transform: translateY(-1px);
}

/* Homepage section rhythm */
.debug-home-section {
  padding: clamp(62px, 7vw, 92px) 0;
  margin: 0;
}

.debug-home-section--soft {
  background: var(--wp--preset--color--tertiary);
}

.debug-home-section--warm {
  background: var(--wp--preset--color--debug-warm-soft);
}

.debug-method-section {
  background: var(--wp--preset--color--base);
}


.debug-home-section:not(.debug-home-hero) {
  border-top: 1px solid rgba(16,32,51,.055);
}

.debug-home-hero {
  padding-top: clamp(28px, 3.8vw, 48px);
  padding-bottom: clamp(66px, 8vw, 104px);
  background:
    radial-gradient(circle at 82% 12%, rgba(40,89,246,.055), transparent 24%),
    var(--wp--preset--color--base);
}

/* Hero */
.debug-hero-columns {
  gap: clamp(44px, 6.2vw, 84px);
  align-items: center;
}

.debug-brand-promise {
  margin: 0 0 1rem;
  color: var(--wp--preset--color--main);
  font-family: var(--wp--preset--font-family--expanded, var(--wp--preset--font-family--primary, sans-serif));
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -.02em;
}

.debug-brand-promise::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  margin-right: 10px;
  background: var(--wp--preset--color--primary-alt-accent);
  vertical-align: .28em;
}

.debug-home-hero h1 {
  text-wrap: balance;
  max-width: 770px;
  margin: 0 0 1.25rem;
  color: var(--wp--preset--color--main);
  font-size: clamp(2.75rem, 4.55vw, 4.15rem);
  line-height: 1.01;
  letter-spacing: -.05em;
}

.debug-hero-copy {
  max-width: 64ch;
  margin: 0 0 1.55rem;
  color: var(--wp--preset--color--secondary);
  font-size: clamp(1.02rem, 1.2vw, 1.12rem);
  line-height: 1.68;
}


.debug-hero-buttons { gap: 10px; }

.debug-primary-button .wp-block-button__link,
.debug-secondary-button .wp-block-button__link,
.debug-linkedin-button .wp-block-button__link {
  border-radius: var(--debug-radius-sm);
  padding: .72rem 1rem;
  font-size: .94rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}

.debug-primary-button .wp-block-button__link {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  box-shadow: 0 7px 18px rgba(40,89,246,.15);
}

.debug-secondary-button .wp-block-button__link,
.debug-linkedin-button .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--main);
  border: 1px solid var(--wp--preset--color--border-light);
}

.debug-primary-button .wp-block-button__link:hover,
.debug-secondary-button .wp-block-button__link:hover,
.debug-linkedin-button .wp-block-button__link:hover {
  transform: translateY(-1px);
}

.debug-secondary-button .wp-block-button__link:hover,
.debug-linkedin-button .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
}

/* Hero: working artifact, not decorative SaaS shapes */
.debug-flow-artifact {
  position: relative;
  padding: clamp(26px, 3.2vw, 38px);
  border: 1px solid var(--wp--preset--color--border-light);
  border-radius: var(--debug-radius-lg);
  background: rgba(255,255,255,.88);
  box-shadow: var(--debug-shadow);
  overflow: hidden;
  isolation: isolate;
}

.debug-flow-artifact::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -54px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(210,154,98,.10);
  pointer-events: none;
  z-index: -1;
}

.debug-flow-artifact > * {
  position: relative;
  z-index: 1;
}

.debug-flow-kicker {
  margin: 0 0 .45rem;
  color: var(--wp--preset--color--main);
  font-family: var(--wp--preset--font-family--expanded, var(--wp--preset--font-family--primary, sans-serif));
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -.035em;
}

.debug-flow-intro {
  max-width: 34ch;
  margin: 0 0 1.6rem;
  color: var(--wp--preset--color--secondary);
  font-size: .92rem;
  line-height: 1.55;
}

.debug-flow-list { border-top: 1px solid var(--wp--preset--color--border-light); }

.debug-flow-row {
  position: relative;
  gap: 16px;
  align-items: baseline;
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid var(--wp--preset--color--border-light);
}

.debug-flow-index {
  min-width: 34px;
  margin: 0;
  color: var(--wp--preset--color--primary-alt-accent);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
}

.debug-flow-title {
  margin: 0 0 .1rem;
  color: var(--wp--preset--color--main);
  font-weight: 700;
}

.debug-flow-meta {
  margin: 0;
  color: var(--wp--preset--color--secondary);
  font-size: .84rem;
  line-height: 1.45;
}

/* Services */
.debug-services-section h2 {
  max-width: none;
  width: 100%;
  margin-bottom: .7rem;
}

.debug-services-section .debug-section-intro {
  max-width: none;
  width: 100%;
}

@media (min-width: 1260px) {
  .debug-services-section h2,
  .debug-services-section .debug-section-intro {
    white-space: nowrap;
  }
}

.debug-services-grid { margin-top: 26px; gap: 18px; }

.debug-card {
  min-height: 250px;
  padding: 23px;
  border: 1px solid var(--wp--preset--color--border-light);
  border-radius: var(--debug-radius-md);
  background: var(--wp--preset--color--base);
  box-shadow: 0 5px 16px rgba(16,32,51,.025);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.debug-card:hover {
  transform: translateY(-2px);
  border-color: rgba(40,89,246,.24);
  box-shadow: var(--debug-shadow-soft);
}


.debug-card h3 {
  margin: 0 0 .55rem;
  color: var(--wp--preset--color--main);
  font-size: 1.28rem;
  line-height: 1.18;
}

.debug-card p {
  margin: 0;
  color: var(--wp--preset--color--secondary);
  font-size: .94rem;
  line-height: 1.58;
}

.debug-card-link {
  margin-top: auto !important;
  padding-top: 1.2rem;
}

.debug-card-link a {
  color: var(--wp--preset--color--primary);
  font-weight: 700;
  text-decoration: none;
}

.debug-card-link a:hover { text-decoration: underline; text-underline-offset: .16em; }

/* Concrete deliverables: editorial proof without another card grid */
.debug-services-section {
  background: var(--wp--preset--color--primary-accent);
}

.debug-deliverables-section {
  background: var(--wp--preset--color--debug-blue-whisper);
}

.debug-deliverables-columns {
  gap: clamp(30px, 4vw, 52px);
  align-items: flex-start;
}

.debug-deliverables-section h2 {
  max-width: 18ch;
  margin: 0 0 .9rem;
}

.debug-artifact-list {
  margin-top: 0;
  border-top: 0;
}

.debug-artifact-row:first-child {
  padding-top: 0;
}

.debug-artifact-row {
  gap: 16px;
  margin: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--wp--preset--color--border-light);
}

.debug-artifact-row > .wp-block-column:first-child { flex-basis: 34% !important; }
.debug-artifact-row > .wp-block-column:last-child { flex-basis: 66% !important; }

.debug-artifact-row h3 {
  margin: 0;
  color: var(--wp--preset--color--main);
  font-size: 1rem;
}

.debug-artifact-row p {
  margin: 0;
  text-wrap: pretty;
  color: var(--wp--preset--color--secondary);
  font-size: .92rem;
  line-height: 1.55;
}

/* DEBUG Method: connected progression, no nested cards */
.debug-method-section h2 { max-width: 900px; margin-bottom: .7rem; }
.debug-method-section .debug-section-intro { max-width: 100%; }

.debug-method-track {
  position: relative;
  margin-top: 28px;
  gap: 24px;
}


.debug-step {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-right: 8px;
  background: transparent;
}

.debug-step::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 19px;
  left: 39px;
  right: -24px;
  height: 1px;
  background: var(--wp--preset--color--border-light);
}

.debug-step:last-child::after { content: none; }

.debug-step-letter {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  margin-bottom: 18px;
  border: 1px solid rgba(100,71,47,.20);
  border-radius: 50%;
  background: var(--wp--preset--color--primary-alt);
  color: var(--wp--preset--color--primary-alt-accent);
  font-size: .84rem;
  font-weight: 700;
  box-shadow: 0 0 0 7px var(--wp--preset--color--base);
}

.debug-step h3 {
  min-height: 43px;
  margin: 0 0 .62rem;
  color: var(--wp--preset--color--main);
  font-size: 1.05rem;
  line-height: 1.16;
}

.debug-step p {
  margin: 0;
  color: var(--wp--preset--color--secondary);
  font-size: .88rem;
  line-height: 1.55;
}

/* Why outsource: editorial layout */
.debug-outsourcing-columns {
  gap: clamp(30px, 4vw, 52px);
  align-items: flex-start;
}

.debug-outsourcing-section h2 {
  max-width: 20ch;
  margin: 0 0 .9rem;
}

.debug-outsourcing-lead {
  max-width: 38ch;
  color: var(--wp--preset--color--secondary);
  line-height: 1.6;
}

.debug-benefits-list {
  margin-top: 0;
  border-top: 0;
}

.debug-benefit-row:first-child {
  padding-top: 0;
}

.debug-benefit-row {
  margin: 0;
  padding: 18px 0;
  border-bottom: 1px solid rgba(100,71,47,.18);
}

.debug-benefit-row h3 {
  margin: 0 0 .28rem;
  color: var(--wp--preset--color--main);
  font-size: 1.02rem;
}

.debug-benefit-row p {
  max-width: none;
  margin: 0;
  text-wrap: pretty;
  color: var(--wp--preset--color--secondary);
  font-size: .94rem;
  line-height: 1.55;
}

/* About */
.debug-about-columns {
  gap: clamp(38px, 6vw, 74px);
  align-items: center;
}

.debug-about-photo {
  margin: 0;
}

.debug-about-photo img {
  display: block;
  width: min(100%, 360px);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--debug-radius-lg);
  box-shadow: var(--debug-shadow-soft);
}

.debug-about-copy {
  max-width: 680px;
}

.debug-about-copy h2 {
  margin: 0 0 .9rem;
}

.debug-about-copy > p:not(.debug-section-label) {
  max-width: 68ch;
  color: var(--wp--preset--color--secondary);
  line-height: 1.65;
}

.debug-about-actions { margin-top: 1.25rem; gap: 10px; }

/* Final CTA: intentional full dark section */
.debug-final-section {
  padding: clamp(58px, 7vw, 82px) 0;
  background: var(--wp--preset--color--main);
}

.debug-final-cta {
  color: rgba(255,255,255,.84);
}

.debug-final-cta .debug-section-label {
  color: var(--wp--preset--color--primary-alt);
}

.debug-final-cta h2 {
  max-width: 780px;
  margin: 0 0 .65rem;
  color: var(--wp--preset--color--base);
  font-size: clamp(2.15rem, 3.5vw, 3.1rem);
}

.debug-final-cta p {
  max-width: 980px;
  color: rgba(255,255,255,.78);
}

.debug-final-cta .wp-block-buttons {
  justify-content: flex-start;
  margin-top: 1.35rem;
}

.debug-final-cta .wp-block-button__link {
  padding: .84rem 1.2rem;
  border-radius: var(--debug-radius-sm);
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--main);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
}

/* Generic editable pages */
.debug-page-main {
  padding: 0 0 54px;
  background: var(--wp--preset--color--base);
}

.debug-page-title-band {
  margin: 0 0 clamp(36px, 5vw, 56px);
  padding: clamp(44px, 6vw, 72px) 0;
  background: var(--wp--preset--color--tertiary);
  border-bottom: 1px solid var(--wp--preset--color--border-light);
}

.debug-page-hero {
  padding: 0;
  background: transparent;
}

.debug-page-shell.debug-page-hero--content {
  width: min(var(--wp--style--global--content-size), calc(100% - 40px));
}

.debug-page-hero::before {
  content: "";
  display: block;
  width: 34px;
  height: 4px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--wp--preset--color--debug-warm);
}

.debug-page-hero h1,
.debug-page-hero .wp-block-post-title {
  max-width: 900px;
  margin: 0;
  color: var(--wp--preset--color--main);
  font-size: clamp(2.35rem, 4vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.debug-page-content {
  width: min(var(--wp--style--global--wide-size), calc(100% - 40px));
  margin: 0 auto;
  padding: 0;
  background: transparent;
}

.debug-page-content > :first-child { margin-top: 0; }
.debug-page-content > :last-child { margin-bottom: 0; }

.debug-page-content p,
.debug-page-content li {
  line-height: 1.7;
}

.debug-page-content p {
  max-width: 70ch;
}

.debug-page-content a:not(.wp-element-button) {
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}

.debug-page-content h2 {
  margin-top: 2.2em;
  margin-bottom: .75em;
  font-size: clamp(1.65rem, 2.6vw, 2.2rem);
}

.debug-page-content h3 {
  margin-top: 1.8em;
  font-size: 1.25rem;
}

.debug-page-lead {
  color: var(--wp--preset--color--main);
  font-size: clamp(1.08rem, 1.5vw, 1.22rem);
  line-height: 1.65;
}

.debug-deliverables li { margin-bottom: .5rem; }

.debug-page-profile,
.debug-contact-layout {
  gap: clamp(34px, 5vw, 66px);
}

.debug-form-placeholder {
  min-height: 260px;
  padding: 28px;
  border: 1px dashed var(--wp--preset--color--border-dark);
  border-radius: var(--debug-radius-md);
  background: var(--wp--preset--color--tertiary);
}

/* Posts / Publications */
.debug-post-meta {
  color: var(--wp--preset--color--secondary);
  font-size: .88rem;
}

.debug-post-grid {
  margin-top: 24px;
  gap: 18px;
}

.debug-post-card {
  height: 100%;
  padding: 18px;
  border: 1px solid var(--wp--preset--color--border-light);
  border-radius: var(--debug-radius-md);
  background: var(--wp--preset--color--base);
}

.debug-post-card .wp-block-post-featured-image { margin: 0 0 14px; }
.debug-post-card .wp-block-post-featured-image img {
  border-radius: var(--debug-radius-sm);
  aspect-ratio: 16/9;
  object-fit: cover;
}

.debug-post-card .wp-block-post-title {
  margin: 0 0 .5rem;
  font-size: 1.3rem;
}

.debug-post-card .wp-block-post-title a {
  color: var(--wp--preset--color--main);
  text-decoration: none;
}

.debug-post-card .wp-block-post-title a:hover {
  text-decoration: underline;
}

.debug-post-nav { margin-top: 28px; }

/* Footer */
.debug-footer {
  width: 100%;
  margin: 0;
  padding: 38px 0 26px;
  background: var(--wp--preset--color--debug-footer);
  color: rgba(255,255,255,.74);
}

.debug-footer-inner {
  width: min(var(--wp--style--global--wide-size), calc(100% - 40px));
}

.debug-footer-top { max-width: 680px; }
.debug-footer .debug-brand { margin-bottom: .6rem; }
.debug-brand--footer a { color: var(--wp--preset--color--base); }
.debug-brand--footer .debug-brand-main {
  color: var(--wp--preset--color--base);
  font-size: 1.12rem;
}
.debug-brand--footer .debug-brand-tld {
  color: var(--wp--preset--color--debug-footer-accent);
  font-size: .72rem;
}
.debug-footer a { color: rgba(255,255,255,.86); }
.debug-footer a:hover { color: var(--wp--preset--color--base); }
.debug-footer-meta { margin: 0; font-size: .85rem; }
.debug-footer .wp-block-separator { margin: 24px 0 18px; opacity: .16; }
.debug-footer-bottom { margin: 0; gap: 24px; }
.debug-footer-legal { white-space: normal; }

/* Navigation controls */
.debug-nav .wp-block-navigation__responsive-container-close,
.debug-nav .wp-block-navigation__responsive-container-open {
  color: var(--wp--preset--color--main);
}


/* Tablet: hamburger earlier and method remains a sequence */
@media (max-width: 960px) and (min-width: 641px) {
  .debug-method-track {
    grid-template-columns: repeat(5, minmax(215px, 1fr)) !important;
    overflow-x: auto;
    padding: 4px 4px 14px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .debug-step { scroll-snap-align: start; }
}

@media (max-width: 900px) {
  .debug-header {
    background: var(--wp--preset--color--base);
    backdrop-filter: none;
  }

  .debug-header-inner { gap: 16px; flex-wrap: nowrap; }
  .debug-nav { flex: 0 0 auto; }
  .debug-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .debug-nav .wp-block-navigation__responsive-container-open { display: flex !important; }

  /* Off-canvas mobile navigation: the site stays visible behind a restrained backdrop. */
  .debug-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: rgba(11, 23, 38, .26) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    color: var(--wp--preset--color--main);
    z-index: 9999;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    position: relative;
    width: min(88vw, 390px);
    height: 100dvh;
    min-height: 100%;
    margin: 0 0 0 auto;
    padding: max(78px, calc(62px + env(safe-area-inset-top))) max(24px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--wp--preset--color--base);
    box-shadow: -18px 0 46px rgba(11, 23, 38, .18);
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    align-items: stretch;
    gap: 8px;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width: 100%;
    padding: .72rem 0;
    font-size: 1.08rem;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static;
    min-width: 0;
    margin-left: 12px;
    padding: 0 0 0 14px;
    border: 0;
    border-left: 1px solid var(--wp--preset--color--border-light);
    box-shadow: none;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .debug-nav-cta-link {
    width: 100%;
    margin: 14px 0 0;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .debug-nav-cta-link > .wp-block-navigation-item__content {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .debug-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: absolute;
    top: max(18px, env(safe-area-inset-top));
    right: max(18px, env(safe-area-inset-right));
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    border: 1px solid var(--wp--preset--color--border-light);
    border-radius: 50%;
    background: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--main);
  }

  .debug-hero-columns,
  .debug-about-columns,
  .debug-outsourcing-columns,
  .debug-deliverables-columns {
    gap: 34px;
  }
}


@media (max-width: 782px) {
  body.admin-bar .debug-header { top: 46px; }
  body.admin-bar .debug-home-section[id] { scroll-margin-top: 124px; }
}

@media (max-width: 700px) {
  .debug-home-section {
    padding: 52px 0;
  }

  .debug-home-hero {
    padding-top: 28px;
    padding-bottom: 58px;
  }

  .debug-hero-columns,
  .debug-about-columns,
  .debug-outsourcing-columns,
  .debug-deliverables-columns {
    flex-direction: column;
  }

  .debug-hero-columns > .wp-block-column,
  .debug-about-columns > .wp-block-column,
  .debug-outsourcing-columns > .wp-block-column,
  .debug-deliverables-columns > .wp-block-column {
    flex-basis: 100% !important;
  }

  .debug-about-photo img {
    width: min(100%, 300px);
  }
}

@media (max-width: 640px) {
  .debug-section-inner,
  .debug-header-inner,
  .debug-footer-inner,
  .debug-page-shell {
    width: min(100% - 28px, var(--wp--style--global--wide-size));
  }

  .debug-header-inner { min-height: 60px; }
  .debug-header .debug-brand-main { font-size: 1.12rem; }
  .debug-header .debug-brand-tld { font-size: .72rem; }

  .debug-home-hero h1 {
    font-size: clamp(2.25rem, 10.4vw, 3.05rem);
  }

  .debug-hero-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .debug-hero-buttons .wp-block-button,
  .debug-hero-buttons .wp-block-button__link {
    width: 100%;
    text-align: center;
  }

  .debug-final-cta .wp-block-buttons { justify-content: stretch; }
  .debug-final-cta .wp-block-button,
  .debug-final-cta .wp-block-button__link { width: 100%; text-align: center; }

  .debug-flow-artifact { padding: 24px; }

  .debug-artifact-row { gap: 6px; }

  .debug-services-grid {
    grid-template-columns: 1fr !important;
  }

  .debug-method-track {
    grid-template-columns: 1fr !important;
    gap: 0;
    overflow: visible;
    padding: 0 0 0 0;
  }


  .debug-step {
    min-height: 0;
    padding: 0 0 30px 58px;
  }

  .debug-step::after {
    top: 39px;
    bottom: 0;
    left: 19px;
    right: auto;
    width: 1px;
    height: auto;
  }

  .debug-step:last-child { padding-bottom: 0; }
  .debug-step:last-child::after { content: none; }

  .debug-step-letter {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    box-shadow: 0 0 0 6px var(--wp--preset--color--base);
  }

  .debug-step h3 { min-height: 0; }

  .debug-page-content {
    width: min(100% - 28px, var(--wp--style--global--wide-size));
  }

  .debug-page-shell.debug-page-hero--content {
    width: min(100% - 28px, var(--wp--style--global--content-size));
  }

  .debug-footer .wp-block-columns { gap: 12px; }
  .debug-footer .has-text-align-right { text-align: left; }
  .debug-footer-bottom { align-items: flex-start; }
}

@media (max-width: 600px) {
  body.admin-bar .debug-header { top: 0; }
  body.admin-bar .debug-home-section[id] { scroll-margin-top: 78px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}
