/* duha350.css — Crown Town Gutter Cleaning and Power Washing */


.page-hero {
   padding-top: var(--space-2xl);
   padding-bottom: var(--space-xl);
   width: 100%;
   position: relative;
}

.hero-type-only {
   text-align: left;
   max-width: var(--measure-reading);
   margin-left: auto;
   margin-right: auto;
   padding-left: var(--space-m);
   padding-right: var(--space-m);
}

.hero-eyebrow-text {
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--olive);
   text-transform: uppercase;
   letter-spacing: 0.08em;
   margin-bottom: var(--space-xs);
   display: block;
}

.hero-title {
   font-family: var(--waka-509);
   font-size: var(--waka-335);
   line-height: 1.12;
   letter-spacing: 0.02em;
   color: var(--ink);
   margin-bottom: var(--space-m);
   text-wrap: balance;
   word-break: normal;
}

.hero-lede {
   font-family: var(--waka-1e6);
   font-size: var(--waka-9e3);
   line-height: 1.58;
   color: var(--ink-soft);
   margin-bottom: var(--space-l);
   text-wrap: pretty;
}

.hero-meta-bar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--space-xs) var(--space-m);
   padding-top: var(--space-s);
   padding-bottom: var(--space-s);
   border-top: 1px solid var(--border-hairline);
   border-bottom: 1px solid var(--border-hairline);
   margin-top: var(--space-m);
   margin-bottom: var(--space-xl);
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ink-muted);
}

.hero-meta-item {
   display: inline-flex;
   align-items: center;
   gap: var(--space-2xs);
}

.hero-meta-item .icon { color: var(--ochre); }

.hero-meta-item strong {
   color: var(--ink);
   font-weight: 500;
}

/* Continuous Essay Composition */
.continuous-essay {
   width: 100%;
   padding-top: var(--space-l);
   padding-bottom: var(--space-3xl);
   position: relative;
}

.essay-body {
   max-width: var(--measure-reading);
   margin-left: auto;
   margin-right: auto;
   padding-left: var(--space-m);
   padding-right: var(--space-m);
   font-size: var(--waka-372);
   line-height: 1.72;
   color: var(--ink);
}

.essay-body p { margin-bottom: var(--space-m); }

.essay-body p.dropcap::first-letter {
   font-family: var(--waka-509);
   font-size: 3.4em;
   line-height: 0.85;
   float: left;
   margin-right: 0.15em;
   margin-top: 0.05em;
   color: var(--ochre);
}

.inline-heading {
   font-family: var(--waka-509);
   font-size: var(--waka-6ae);
   line-height: 1.24;
   letter-spacing: 0.02em;
   color: var(--ink);
   margin-top: var(--space-2xl);
   margin-bottom: var(--space-s);
   padding-top: var(--space-m);
   border-top: 1px solid var(--border-hairline);
}

.inline-subhead {
   font-family: var(--waka-509);
   font-size: var(--waka-9e3);

   line-height: 1.32;
   letter-spacing: 0.015em;
   color: var(--ink-soft);
   margin-top: var(--space-xl);
   margin-bottom: var(--space-xs);
}

.essay-divider {
   border: 0;
   height: 1px;
   background-color: var(--border-hairline);
   margin: var(--space-2xl) 0;
   width: 100%;
}

/* Large Pull Quotes */
.essay-quote {
   margin: var(--space-2xl) 0;
   padding: var(--space-m) var(--space-l);
   background-color: var(--sand-light);
   border-left: 4px solid var(--ochre);
   border-radius: var(--radius-xs);
}

.essay-quote-text {
   font-family: var(--waka-1e6);
   font-style: italic;
   font-size: var(--waka-d5f);
   line-height: 1.45;
   color: var(--ink);
   margin-bottom: var(--space-xs);
}

.essay-quote-caption {
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ink-muted);
   text-transform: uppercase;
   letter-spacing: 0.06em;
   display: block;
}

/* Magazine Inset Boxes */
.inset-fact-box {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-m) var(--space-l);
   margin: var(--space-xl) 0;
}

.inset-fact-header {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   justify-content: space-between;
   gap: var(--space-2xs) var(--space-s);
   border-bottom: 1px solid var(--border-hairline);
   padding-bottom: var(--space-2xs);
   margin-bottom: var(--space-s);
}

@media (max-width: 480px) {
   .inset-fact-header {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--space-3xs);
   }
}

.inset-fact-title {
   font-family: var(--waka-509);
   font-size: var(--waka-372);
   font-weight: 600;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: var(--ink);
   min-width: 0;
   flex: 1 1 auto;
}

.inset-fact-tag {
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   color: #723E09;
   font-weight: 600;
   white-space: normal;
   text-align: right;
   flex-shrink: 0;
}

@media (max-width: 480px) {
   .inset-fact-title,
   .inset-fact-tag {
      width: 100% !important;
      text-align: left !important;
      display: block !important;
   }
}

.inset-metric-row {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
   gap: var(--space-s);
   margin-top: var(--space-s);
}

.inset-metric {
   background-color: var(--ground);
   padding: var(--space-xs) var(--space-s);
   border: 1px solid var(--border-hairline);
   border-radius: var(--radius-xs);
}

.inset-metric-val {
   font-family: var(--waka-c46);
   font-size: var(--waka-d5f);
   font-weight: 600;
   color: var(--ink);
   line-height: 1.15;
}

.inset-metric-desc {
   font-family: var(--waka-1e6);
   font-size: var(--step--1);
   color: var(--ink-soft);
   line-height: 1.35;

   margin-top: var(--space-3xs);
}


.plate-wide {
   width: 100%;
   max-width: var(--measure-wide);
   margin: var(--space-2xl) auto;
   padding-left: var(--space-m);
   padding-right: var(--space-m);
   box-sizing: border-box;
}

.plate-reading {
   width: 100%;
   max-width: var(--measure-reading);
   margin: var(--space-2xl) auto;
   padding-left: var(--space-m);
   padding-right: var(--space-m);
   box-sizing: border-box;
}

.plate-figure {
   width: 100%;
   margin: 0;
   position: relative;
}

.plate-figure img {
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 10;
   object-fit: cover;
   border-radius: var(--radius-sm);
   border: 1px solid var(--border-hairline);
   box-shadow: var(--shadow-subtle);
   background-color: var(--sand-warm);
}

.plate-meta-caption {
   display: flex;
   flex-direction: column;
   gap: var(--space-3xs);
   padding-top: var(--space-xs);
   padding-left: var(--space-s);
   border-left: 2px solid var(--olive);
   margin-top: var(--space-xs);
}

.plate-caption-title {
   font-family: var(--waka-509);
   font-size: var(--step--1);
   font-weight: 600;

   letter-spacing: 0.03em;
   color: var(--ink);
}

.plate-caption-desc {
   font-family: var(--waka-1e6);
   font-style: italic;
   font-size: var(--step--1);
   line-height: 1.45;
   color: var(--ink-muted);
}


.duotone-break {
   position: relative;
   width: 100%;
   max-width: 100%;
   left: auto;
   right: auto;
   margin-left: 0;
   margin-right: 0;
   margin-top: var(--space-3xl);
   margin-bottom: var(--space-3xl);
   background-color: var(--ground-dark);
   color: var(--on-dark-ink);
   overflow: hidden;
   padding: var(--space-3xl) var(--space-m);
   box-sizing: border-box;
}

.duotone-background {
   position: absolute;
   inset: 0;
   z-index: 1;
   pointer-events: none;
}

.duotone-background img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   opacity: 0.38;
   filter: grayscale(100%) contrast(120%);
   mix-blend-mode: luminosity;
}

.duotone-overlay {
   position: absolute;
   inset: 0;
   z-index: 2;
   background: linear-gradient(
      135deg,
      rgba(28, 25, 22, 0.94) 0%,
      rgba(86, 93, 71, 0.85) 50%,
      rgba(28, 25, 22, 0.95) 100%
   );
   pointer-events: none;
}

.duotone-content {
   position: relative;
   z-index: 3;
   max-width: var(--measure-reading);
   width: 100%;
   margin-left: auto;
   margin-right: auto;
   text-align: center;
   padding: var(--space-xl) var(--space-s);
   box-sizing: border-box;
}

.duotone-mark-glyph {
   width: 48px;
   height: 48px;
   margin: 0 auto var(--space-s);
   color: var(--ochre);
}

.duotone-statement {
   font-family: var(--waka-509);
   font-size: var(--waka-2e2);
   line-height: 1.18;
   letter-spacing: 0.03em;
   color: #EDE3CF;
   margin-bottom: var(--space-m);
   text-wrap: balance;
}

.duotone-substatement {
   font-family: var(--waka-1e6);
   font-size: var(--waka-9e3);
   line-height: 1.6;
   color: var(--on-dark-muted);
   max-width: 640px;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: var(--space-l);
}

.duotone-details-strip {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: var(--space-xs) var(--space-m);
   max-width: 100%;
   box-sizing: border-box;
   padding-top: var(--space-m);
   border-top: 1px solid rgba(237, 227, 207, 0.2);
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--on-dark-muted);
}

.duotone-strip-point {
   display: inline-flex;
   align-items: center;
   gap: var(--space-2xs);
}

.duotone-strip-point .icon { color: var(--ochre); }


.drawn-spine-section {
   position: relative;
   width: 100%;
   max-width: var(--measure-wide);
   margin: var(--space-3xl) auto;
   padding: 0 var(--space-m);
   box-sizing: border-box;
}

.spine-header {
   max-width: var(--measure-reading);
   margin-bottom: var(--space-2xl);
}

.spine-diagram-wrap {
   position: relative;
   display: grid;
   grid-template-columns: 80px 1fr;
   gap: var(--space-l);
   min-height: 600px;
}

.spine-track {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
}

.spine-svg-canvas {
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 40px;
   height: 100%;
   overflow: visible;
   pointer-events: none;
}

.spine-path-base {
   stroke: var(--sand-deep);
   stroke-width: 3;
   fill: none;
   stroke-linecap: round;
}

.spine-path-drawn {
   stroke: var(--ochre);
   stroke-width: 4;
   fill: none;
   stroke-linecap: round;
   transition: stroke-dashoffset 0.1s linear;
}

.spine-node-marker {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   background-color: var(--sand-warm);
   border: 3px solid var(--sand-deep);
   z-index: 5;
   transition: background-color var(--dur-base) var(--ease-standard),
                     border-color var(--dur-base) var(--ease-standard),
                     box-shadow var(--dur-base) var(--ease-standard),
                     transform var(--dur-base) var(--ease-standard);
}

.spine-node-marker.is-active {
   background-color: var(--ochre);
   border-color: var(--ink);
   box-shadow: 0 0 0 5px rgba(184, 120, 50, 0.28);
   transform: scale(1.15);
}

.spine-steps-flow {
   display: flex;
   flex-direction: column;
   gap: var(--space-2xl);
   padding-bottom: var(--space-l);
}

.spine-step-card {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-m) var(--space-l);
   box-shadow: var(--shadow-subtle);
   transition: border-color var(--dur-base) var(--ease-standard),
                     box-shadow var(--dur-base) var(--ease-standard);
}

.spine-step-card.is-active {
   border-color: var(--ochre);
   box-shadow: 0 6px 18px rgba(184, 120, 50, 0.12);
}

.spine-step-badge {
   display: inline-flex;
   align-items: center;
   gap: var(--space-3xs);
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   color: var(--olive);
   text-transform: uppercase;
   letter-spacing: 0.05em;
   margin-bottom: var(--space-2xs);
}

.spine-step-title {
   font-family: var(--waka-509);
   font-size: var(--waka-9e3);
   color: var(--ink);
   margin-bottom: var(--space-xs);
}

.spine-step-body {
   font-family: var(--waka-1e6);
   font-size: var(--waka-372);
   line-height: 1.6;
   color: var(--ink-soft);
   margin-bottom: var(--space-s);
}

.spine-step-specs {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-s);
   padding-top: var(--space-xs);
   border-top: 1px solid var(--border-hairline);
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ink-muted);
}

.spine-spec-pill {
   display: inline-flex;
   align-items: center;
   gap: var(--space-3xs);
}

.spine-spec-pill strong { color: var(--ink); }

@media (max-width: 680px) {
   .spine-diagram-wrap {
      grid-template-columns: 28px 1fr;
      gap: var(--space-xs);
   }

   .spine-step-card { padding: var(--space-s); }
}

@media (max-width: 400px) {
   .spine-diagram-wrap {
      display: flex;
      flex-direction: column;
      min-height: auto;
   }

   .spine-track { display: none; }
}


.pinned-crossfade-stage {
   position: relative;
   width: 100%;
   margin-top: var(--space-3xl);
   margin-bottom: var(--space-3xl);
   min-height: 250vh;
}

.pinned-sticky-shell {
   position: sticky;
   top: 90px;
   width: 100%;
   max-width: var(--measure-wide);
   margin-left: auto;
   margin-right: auto;
   padding: 0 var(--space-m);
   box-sizing: border-box;
}

.pinned-stage-progress {
   width: 100%;
   height: 4px;
   background-color: var(--sand-warm);
   border-radius: 2px;
   margin-bottom: var(--space-m);
   overflow: hidden;
}

.pinned-stage-bar {
   height: 100%;
   width: 0%;
   background-color: var(--ochre);
   transition: width 0.1s linear;
}

.pinned-scene-container {
   position: relative;
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-xl);
   min-height: 400px;
   overflow: hidden;
   box-shadow: var(--shadow-card);
}

.pinned-slide {
   position: absolute;
   inset: var(--space-xl);
   opacity: 0;
   visibility: hidden;
   transition: opacity var(--dur-slow) var(--ease-editorial),
                     visibility var(--dur-slow) var(--ease-editorial);
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.pinned-slide.is-active {
   opacity: 1;
   visibility: visible;
   position: relative;
   inset: auto;
}

.pinned-slide-category {
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ochre);
   text-transform: uppercase;
   letter-spacing: 0.08em;
   margin-bottom: var(--space-xs);
}

.pinned-slide-title {
   font-family: var(--waka-509);
   font-size: var(--waka-6ae);
   line-height: 1.2;
   color: var(--ink);
   margin-bottom: var(--space-m);
}

.pinned-slide-copy {
   font-family: var(--waka-1e6);
   font-size: var(--waka-9e3);
   line-height: 1.6;
   color: var(--ink-soft);
   max-width: 680px;
   margin-bottom: var(--space-l);
}

.pinned-slide-stats {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-m);
   padding-top: var(--space-m);
   border-top: 1px solid var(--border-hairline);
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ink-muted);
}

@media (prefers-reduced-motion: reduce) {
   .pinned-crossfade-stage { min-height: auto; }

   .pinned-sticky-shell { position: static; }

   .pinned-stage-progress { display: none; }

   .pinned-slide {
      position: static;
      opacity: 1;
      visibility: visible;
      margin-bottom: var(--space-xl);
      padding-bottom: var(--space-l);
      border-bottom: 1px solid var(--border-hairline);
   }

   .pinned-slide:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
   }
}


.disclosure-page-wrap {
   width: 100%;
   max-width: var(--measure-reading);
   margin: 0 auto;
   padding: var(--space-2xl) var(--space-m) var(--space-3xl);
   box-sizing: border-box;
}

.disclosure-toolbar {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-xs);
   padding: var(--space-s) 0;
   margin-bottom: var(--space-xl);
   border-top: 1px solid var(--border-hairline);
   border-bottom: 1px solid var(--border-hairline);
}

.disclosure-toolbar-group {
   display: flex;
   align-items: center;
   gap: var(--space-xs);
}

.btn-disclosure-ctrl {
   display: inline-flex;
   align-items: center;
   gap: var(--space-3xs);
   min-height: var(--touch-target);
   padding: 0.4rem 0.85rem;
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: var(--ink);
   background-color: var(--sand-warm);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-xs);
   cursor: pointer;
   transition: background-color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard);
}

.btn-disclosure-ctrl:hover {
   background-color: var(--sand-light);
   border-color: var(--ink);
}

.btn-disclosure-ctrl:active {
   background-color: var(--sand-deep);
   transform: translateY(1px);
}

.btn-disclosure-ctrl:focus-visible {
   outline: 2px solid var(--ochre);
   outline-offset: 2px;
}

.disclosure-stack {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
}

.disclosure-block {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   overflow: hidden;
   transition: border-color var(--dur-fast) var(--ease-standard),
                     box-shadow var(--dur-fast) var(--ease-standard);
}

.disclosure-block[open] {
   border-color: var(--border-ochre);
   box-shadow: var(--shadow-subtle);
}

.disclosure-block:target {
   border-color: var(--ochre);
   outline: 2px solid var(--ochre);
   outline-offset: 2px;
}

.disclosure-summary {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: var(--space-s);
   padding: var(--space-m);
   cursor: pointer;
   list-style: none;
   font-family: var(--waka-509);
   font-size: var(--waka-372);
   font-weight: 600;
   line-height: 1.35;
   color: var(--ink);
   user-select: none;
   min-height: var(--touch-target);
   transition: background-color var(--dur-fast) var(--ease-standard);
}

.disclosure-summary::-webkit-details-marker { display: none; }

.disclosure-summary:hover { background-color: var(--sand-warm); }

.disclosure-summary:focus-visible {
   outline: 2px solid var(--ochre);
   outline-offset: -2px;
}

.disclosure-summary-text {
   flex: 1;
   min-width: 0;
}

.disclosure-summary-sentence {
   display: block;
   font-family: var(--waka-1e6);
   font-size: var(--step--1);
   font-weight: 400;
   color: var(--ink-muted);
   line-height: 1.45;
   margin-top: var(--space-3xs);
}

.disclosure-caret {
   width: 20px;
   height: 20px;
   flex-shrink: 0;
   color: var(--ochre);
   margin-top: 2px;
   transition: transform var(--dur-base) var(--ease-standard);
}

.disclosure-block[open] .disclosure-caret { transform: rotate(180deg); }

.disclosure-content {
   padding: 0 var(--space-m) var(--space-m);
   border-top: 1px solid var(--border-hairline);
   font-family: var(--waka-1e6);
   font-size: var(--waka-372);
   line-height: 1.68;
   color: var(--ink-soft);
}

.disclosure-content > * + * { margin-top: var(--space-s); }

.disclosure-content p:first-child { margin-top: var(--space-s); }

.disclosure-content ul {
   list-style: disc;
   margin-left: var(--space-l);
   margin-bottom: var(--space-s);
}

.disclosure-content li { margin-bottom: var(--space-3xs); }

.disclosure-content code {
   background-color: var(--sand-warm);
   padding: 0.15rem 0.35rem;
   border-radius: var(--radius-xs);
   border: 1px solid var(--border-hairline);
   color: var(--ink);
}

@media print {
   .disclosure-toolbar { display: none; }

   .disclosure-block {
      break-inside: avoid;
      border: 1px solid #999;
      margin-bottom: 1rem;
   }

   .disclosure-block details,
   .disclosure-block { display: block !important; }

   .disclosure-content {
      display: block !important;
      padding: 1rem;
   }

   .disclosure-caret { display: none; }
}


.cookies-page-wrap {
   width: 100%;
   max-width: var(--measure-wide);
   margin: 0 auto;
   padding: var(--space-2xl) var(--space-m) var(--space-3xl);
   box-sizing: border-box;
}

.ledger-wrapper {
   margin: var(--space-xl) 0;
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   overflow: hidden;
   box-shadow: var(--shadow-subtle);
}

.clause-ledger {
   width: 100%;
   border-collapse: collapse;
   text-align: left;
}

.clause-ledger thead th {
   background-color: var(--sand-warm);
   font-family: var(--waka-509);
   font-size: var(--step--1);
   font-weight: 600;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: var(--ink);
   padding: var(--space-s) var(--space-m);
   border-bottom: 2px solid var(--border-soft);
   vertical-align: bottom;
}

.clause-ledger tbody td {
   padding: var(--space-m);
   border-bottom: 1px solid var(--border-hairline);
   vertical-align: top;
   font-family: var(--waka-1e6);
   font-size: var(--step--1);
   line-height: 1.55;
   color: var(--ink);
}

.clause-ledger tbody tr:last-child td { border-bottom: none; }

.clause-ledger tbody tr:hover td { background-color: rgba(184, 120, 50, 0.03); }

.ledger-col-name {
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   font-weight: 500;
   color: var(--ink);
   width: 22%;
}

.ledger-col-plain {
   width: 48%;
   color: var(--ink-soft);
}

.ledger-col-basis {
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   width: 30%;
   color: var(--ink-muted);
}

.ledger-key-code {
   display: block;
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   color: #723E09;
   margin-top: var(--space-3xs);
}

.ledger-retention-pill {
   display: inline-flex;
   align-items: center;
   padding: 0.15rem 0.45rem;
   background-color: var(--sand-warm);
   border: 1px solid var(--border-hairline);
   border-radius: var(--radius-xs);
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   margin-top: var(--space-2xs);
}

@media (max-width: 768px) {
   .clause-ledger,
   .clause-ledger thead,
   .clause-ledger tbody,
   .clause-ledger th,
   .clause-ledger td,
   .clause-ledger tr {
      display: block;
      width: 100%;
      box-sizing: border-box;
   }

   .clause-ledger thead { display: none; }

   .clause-ledger tbody tr {
      padding: var(--space-m);
      border-bottom: 1px solid var(--border-soft);
   }

   .clause-ledger tbody tr:last-child { border-bottom: none; }

   .clause-ledger tbody td {
      padding: var(--space-3xs) 0;
      border: none;
      width: 100%;
   }

   .clause-ledger tbody td::before {
      content: attr(data-label);
      display: block;
      font-family: var(--waka-509);
      font-size: var(--step--2);
      font-weight: 600;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--ink-muted);
      margin-bottom: var(--space-3xs);
      margin-top: var(--space-xs);
   }

   .clause-ledger tbody td:first-child::before { margin-top: 0; }
}


.terms-page-wrap {
   width: 100%;
   margin: 0 auto;
   padding-bottom: var(--space-3xl);
   box-sizing: border-box;
}

.jump-chips-bar {
   position: sticky;
   top: 60px;
   z-index: 80;
   background-color: var(--ground);
   border-top: 1px solid var(--border-hairline);
   border-bottom: 1px solid var(--border-soft);
   padding: var(--space-xs) 0;
   margin-bottom: var(--space-2xl);
   box-shadow: 0 4px 12px rgba(34, 30, 25, 0.06);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
   .jump-chips-bar {
      background-color: rgba(222, 210, 188, 0.95);
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
   }
}

.jump-chips-nav {
   display: flex;
   align-items: center;
   gap: var(--space-xs);
   overflow-x: auto;
   padding: var(--space-3xs) var(--space-m);
   max-width: var(--measure-wide);
   margin: 0 auto;
   -webkit-overflow-scrolling: touch;
   scrollbar-width: thin;
   scrollbar-color: var(--border-soft) transparent;
}

.jump-chips-nav::-webkit-scrollbar { height: 4px; }

.jump-chips-nav::-webkit-scrollbar-thumb {
   background-color: var(--border-soft);
   border-radius: 2px;
}

.jump-chip {
   display: inline-flex;
   align-items: center;
   min-height: var(--touch-target);
   padding: 0.35rem 0.85rem;
   font-family: var(--waka-509);
   font-size: var(--step--1);
   font-weight: 500;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: var(--ink-soft);
   background-color: var(--sand-warm);
   border: 1px solid var(--border-hairline);
   border-radius: var(--radius-xs);
   white-space: nowrap;
   flex-shrink: 0;
   transition: background-color var(--dur-fast) var(--ease-standard),
                     color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard);
}

.jump-chip:hover {
   color: var(--ink);
   background-color: var(--sand-light);
   border-color: var(--border-strong);
}

.jump-chip:active {
   color: var(--ochre);
   background-color: var(--sand-deep);
   transform: translateY(1px);
}

.jump-chip:focus-visible {
   outline: 2px solid var(--ochre);
   outline-offset: 2px;
}

.jump-chip.is-active {
   background-color: var(--ink);
   color: var(--sand-light);
   border-color: var(--ink);
}

.terms-section-flow {
   max-width: var(--measure-reading);
   margin: 0 auto;
   padding: 0 var(--space-m);
}

.terms-section {
   padding-top: var(--space-2xl);
   padding-bottom: var(--space-2xl);
   border-bottom: 1px solid var(--border-hairline);
   scroll-margin-top: 130px;
}

.terms-section:last-child { border-bottom: none; }

.terms-section:target {
   background-color: rgba(184, 120, 50, 0.04);
   outline: 2px solid var(--ochre);
   outline-offset: 4px;
}

.terms-standfirst {
   font-family: var(--waka-1e6);
   font-size: var(--waka-9e3);
   font-style: italic;
   line-height: 1.5;
   color: #723E09;
   margin-bottom: var(--space-m);
   padding-left: var(--space-s);
   border-left: 3px solid var(--ochre);
}

.terms-title {
   font-family: var(--waka-509);
   font-size: var(--waka-d5f);
   line-height: 1.25;
   color: var(--ink);
   margin-bottom: var(--space-xs);
}


.service-spec-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: var(--space-m);
   margin: var(--space-xl) 0;
}

.service-spec-item {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-xs);
   padding: var(--space-m);
}

.service-spec-kicker {
   font-family: var(--waka-c46);
   font-size: var(--step--2);
   color: var(--olive);
   text-transform: uppercase;
   letter-spacing: 0.05em;
   margin-bottom: var(--space-3xs);
}

.service-spec-figure {
   font-family: var(--waka-c46);
   font-size: var(--waka-d5f);
   font-weight: 600;
   color: var(--ink);
   line-height: 1.2;
}

.service-spec-detail {
   font-family: var(--waka-1e6);
   font-size: var(--step--1);
   color: var(--ink-soft);
   margin-top: var(--space-3xs);
}

.comparison-box {
   margin: var(--space-2xl) 0;
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-l);
}

.comparison-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--space-l);
   margin-top: var(--space-m);
}

.comparison-column-danger {
   border-top: 3px solid var(--terracotta);
   padding-top: var(--space-s);
}

.comparison-column-proper {
   border-top: 3px solid var(--olive);
   padding-top: var(--space-s);
}

.comparison-heading {
   font-family: var(--waka-509);
   font-size: var(--waka-372);
   font-weight: 600;
   margin-bottom: var(--space-xs);
}

.comparison-column-danger .comparison-heading { color: #8C2C16; }

.comparison-column-proper .comparison-heading { color: var(--olive); }

@media (max-width: 768px) {
   .service-spec-grid { grid-template-columns: 1fr; }

   .comparison-grid { grid-template-columns: 1fr; }
}


.pricing-table-matrix {
   margin: var(--space-2xl) 0;
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   overflow: hidden;
}

.pricing-row-header {
   background-color: var(--sand-warm);
   border-bottom: 2px solid var(--border-soft);
   padding: var(--space-s) var(--space-m);
   font-family: var(--waka-509);
   font-size: var(--waka-372);
   font-weight: 600;
   color: var(--ink);
}

.pricing-factor-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: var(--space-m);
   padding: var(--space-m);
}

.pricing-factor-card {
   border: 1px solid var(--border-hairline);
   background-color: var(--ground);
   padding: var(--space-s);
   border-radius: var(--radius-xs);
}

.factor-card-title {
   font-family: var(--waka-509);
   font-size: var(--step--1);
   font-weight: 600;
   color: var(--ink);
   margin-bottom: var(--space-3xs);
}

.factor-card-body {
   font-family: var(--waka-1e6);
   font-size: var(--step--1);
   line-height: 1.45;
   color: var(--ink-soft);
}


.process-protocol-stage {
   margin: var(--space-2xl) 0;
   padding-bottom: var(--space-2xl);
   border-bottom: 1px solid var(--border-hairline);
}

.process-stage-meta {
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ochre);
   margin-bottom: var(--space-xs);
   display: block;
}

.process-stage-checklist {
   list-style: none;
   margin: var(--space-m) 0;
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}

.process-stage-checklist li {
   display: flex;
   align-items: flex-start;
   gap: var(--space-xs);
   font-family: var(--waka-1e6);
   font-size: var(--waka-372);
   line-height: 1.5;
}

.process-stage-checklist .icon {
   color: var(--olive);
   margin-top: 4px;
}


.operator-bio-box {
   margin: var(--space-2xl) 0;
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-l);
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-m);
}

.bio-credentials-strip {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-m);
   padding-top: var(--space-m);
   border-top: 1px solid var(--border-hairline);
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   color: var(--ink-muted);
}

.bio-credential-item strong { color: var(--ink); }


.tool-page-wrap {
   width: 100%;
   max-width: var(--measure-reading);
   margin: 0 auto;
   padding: var(--space-2xl) var(--space-m) var(--space-3xl);
   box-sizing: border-box;
}

.diagnostic-panel {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-xl);
   margin: var(--space-xl) 0;
   box-shadow: var(--shadow-subtle);
}

.diagnostic-fieldset {
   border: none;
   padding: 0;
   margin: 0 0 var(--space-l) 0;
}

.diagnostic-legend {
   font-family: var(--waka-509);
   font-size: var(--waka-372);
   font-weight: 600;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: var(--ink);
   margin-bottom: var(--space-xs);
   display: block;
}

.diagnostic-select-wrap {
   position: relative;
   width: 100%;
}

.diagnostic-select-wrap select {
   width: 100%;
   min-height: var(--touch-target);
   padding: var(--space-xs) var(--space-s);
   background-color: var(--ground);
   color: var(--ink);
   border: 1px solid var(--border-strong);
   border-radius: var(--radius-xs);
   font-family: var(--waka-1e6);
   font-size: var(--waka-372);
   cursor: pointer;
}

.diagnostic-result-card {
   background-color: var(--ground);
   border: 1px solid var(--border-ochre);
   border-left: 4px solid var(--ochre);
   border-radius: var(--radius-xs);
   padding: var(--space-l);
   margin-top: var(--space-l);
}

.diagnostic-price-readout {
   font-family: var(--waka-c46);
   font-size: var(--waka-6ae);
   font-weight: 600;
   color: var(--ink);
   line-height: 1.15;
   margin-bottom: var(--space-xs);
}

.diagnostic-time-readout {
   font-family: var(--waka-c46);
   font-size: var(--waka-372);
   color: var(--olive);
   font-weight: 500;
   margin-bottom: var(--space-s);
}

.diagnostic-disclaimer {
   font-family: var(--waka-1e6);
   font-size: var(--step--1);
   font-style: italic;
   color: var(--ink-muted);
   line-height: 1.4;
   margin-top: var(--space-s);
   padding-top: var(--space-xs);
   border-top: 1px solid var(--border-hairline);
}


.contact-page-wrap {
   width: 100%;
   max-width: var(--measure-reading);
   margin: 0 auto;
   padding: var(--space-2xl) var(--space-m) var(--space-3xl);
   box-sizing: border-box;
}

.dispatch-card {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-l);
   margin: var(--space-xl) 0;
}

.dispatch-detail-item {
   display: flex;
   align-items: flex-start;
   gap: var(--space-s);
   margin-bottom: var(--space-m);
}

.dispatch-detail-item:last-child { margin-bottom: 0; }

.dispatch-detail-item .icon {
   color: var(--ochre);
   margin-top: 3px;
}

.dispatch-detail-label {
   font-family: var(--waka-c46);
   font-size: var(--step--1);
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--ink-muted);
}

.dispatch-detail-val {
   font-family: var(--waka-1e6);
   font-size: var(--waka-9e3);
   color: var(--ink);
   font-weight: 500;
}

.dispatch-detail-val a {
   color: var(--ink);
   text-decoration: underline;
   text-underline-offset: 3px;
   min-height: 36px;
   display: inline-flex;
   align-items: center;
}

.dispatch-detail-val a:hover { color: var(--ochre); }

.dispatch-detail-val a:focus-visible {
   outline: 2px solid var(--ochre);
   outline-offset: 2px;
}


.warranty-page-wrap {
   width: 100%;
   max-width: var(--measure-reading);
   margin: 0 auto;
   padding: var(--space-2xl) var(--space-m) var(--space-3xl);
   box-sizing: border-box;
}

.pledge-certificate-box {
   background-color: var(--sand-light);
   border: 2px solid var(--border-soft);
   border-radius: var(--radius-sm);
   padding: var(--space-xl);
   margin: var(--space-2xl) 0;
   text-align: center;
   position: relative;
}

.pledge-certificate-box::after {
   content: '';
   position: absolute;
   inset: 6px;
   border: 1px dashed var(--border-hairline);
   pointer-events: none;
}

.pledge-title {
   font-family: var(--waka-509);
   font-size: var(--waka-d5f);
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: var(--ink);
   margin-bottom: var(--space-s);
}

.pledge-text {
   font-family: var(--waka-1e6);
   font-size: var(--waka-372);
   line-height: 1.6;
   color: var(--ink-soft);
   max-width: 620px;
   margin: 0 auto var(--space-m);
}


.faq-accordion-wrap { margin: var(--space-2xl) 0; }

.faq-accordion-item {
   background-color: var(--sand-light);
   border: 1px solid var(--border-soft);
   border-radius: var(--radius-xs);
   margin-bottom: var(--space-xs);
   overflow: hidden;
}

.faq-accordion-item[open] { border-color: var(--border-ochre); }

.faq-trigger {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-s);
   padding: var(--space-m);
   cursor: pointer;
   list-style: none;
   font-family: var(--waka-509);
   font-size: var(--waka-372);
   font-weight: 600;
   color: var(--ink);
   min-height: var(--touch-target);
   transition: background-color var(--dur-fast) var(--ease-standard);
}

.faq-trigger::-webkit-details-marker { display: none; }

.faq-trigger:hover { background-color: var(--sand-warm); }

.faq-trigger:focus-visible {
   outline: 2px solid var(--ochre);
   outline-offset: -2px;
}

.faq-trigger .icon {
   color: var(--ochre);
   transition: transform var(--dur-base) var(--ease-standard);
   flex-shrink: 0;
}

.faq-accordion-item[open] .faq-trigger .icon { transform: rotate(180deg); }

.faq-body {
   padding: 0 var(--space-m) var(--space-m);
   font-family: var(--waka-1e6);
   font-size: var(--waka-372);
   line-height: 1.65;
   color: var(--ink-soft);
   border-top: 1px solid var(--border-hairline);
}

.faq-body p:first-child { margin-top: var(--space-s); }


.error-hero-wrap {
   width: 100%;
   max-width: var(--measure-reading);
   margin: var(--space-3xl) auto;
   padding: var(--space-2xl) var(--space-m);
   text-align: center;
   box-sizing: border-box;
}

.error-code-glyph {
   font-family: var(--waka-c46);
   font-size: var(--waka-335);
   font-weight: 600;
   color: var(--ochre);
   letter-spacing: 0.05em;
   line-height: 1;
   margin-bottom: var(--space-s);
}

.error-page-title {
   font-family: var(--waka-509);
   font-size: var(--waka-6ae);
   color: var(--ink);
   margin-bottom: var(--space-m);
}

.error-page-desc {
   font-family: var(--waka-1e6);
   font-size: var(--waka-9e3);
   line-height: 1.6;
   color: var(--ink-soft);
   max-width: 560px;
   margin: 0 auto var(--space-xl);
}

.error-actions-cluster {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: var(--space-s);
}


@media (max-width: 480px) {
   .hero-meta-bar {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--space-2xs);
   }

   .disclosure-toolbar {
      flex-direction: column;
      align-items: stretch;
   }

   .disclosure-toolbar-group { justify-content: space-between; }

   .inset-metric-row { grid-template-columns: 1fr; }

   .duotone-details-strip {
      flex-direction: column;
      align-items: center;
      gap: var(--space-xs);
   }

   .error-actions-cluster { flex-direction: column; }

   .error-actions-cluster .btn { width: 100%; }
}

@media (max-width: 320px) {
   .hero-title { font-size: 1.75rem; }

   .disclosure-summary { padding: var(--space-xs); }

   .disclosure-content { padding: 0 var(--space-xs) var(--space-xs); }

   .diagnostic-panel { padding: var(--space-s); }

   .comparison-box { padding: var(--space-s); }
}
