

#smooth-wrapper {
   position: relative;
   width: 100%;
   overflow: visible;
}

#smooth-content {
   width: 100%;
   position: relative;
}

@media (prefers-reduced-motion: reduce) {
   #smooth-wrapper {
      overflow: visible;
   }
   #smooth-content {
      will-change: auto;
      transform: none !important;
   }
}


.hero-opening {
   position: relative;
   min-height: calc(100vh - var(--header-mobile-h));
   min-height: calc(100svh - var(--header-mobile-h));
   display: flex;
   align-items: center;
   overflow: hidden;
   border-bottom: 1px solid var(--line);
   background-color: var(--ground);
}

@media (min-width: 1024px) {
   .hero-opening {
      min-height: 100vh;
      min-height: 100svh;
   }
}

.hero-stage {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1;
   overflow: hidden;
}

.hero-media-layer {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 44%;
   width: 56%;
   height: 100%;
   overflow: hidden;
   will-change: transform;
}

.hero-media-layer img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 80% center;
   display: block;

}

.hero-media-frame {
   position: relative;
   width: 100%;
   height: 100%;
   border-left: 1px solid var(--line);
}

.hero-media-tag {
   position: absolute;
   bottom: var(--space-md);
   right: var(--space-md);
   padding: 0.375rem 0.75rem;
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   font-family: var(--kume-1f2);

   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   z-index: 10;
   box-shadow: var(--shadow-subtle);
}

@media (max-width: 860px) {
   .hero-opening {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
   }
   .hero-stage {
      position: relative;
      inset: auto;
      width: 100%;
      height: 380px;
      order: 2;
   }
   .hero-media-layer {
      left: 0;
      width: 100%;
      height: 100%;
   }
   .hero-media-layer img {
      object-position: 75% center;
   }
   .hero-media-frame {
      border-left: none;
      border-top: 1px solid var(--line);
   }
}

.hero-frame {
   position: relative;
   z-index: 3;
   width: 100%;
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-3xl);
   pointer-events: none;
}

.hero-frame > * {
   pointer-events: auto;
}

.hero-lockup {
   max-width: 540px;
   will-change: transform;
}

.hero-kicker-tag {
   display: inline-flex;
   align-items: center;
   gap: var(--space-xs);
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
   margin-bottom: var(--space-md);
   padding: 0.25rem 0.625rem;
   background-color: rgba(223, 215, 213, 0.8);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
}

.hero-kicker-tag .pulse-dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background-color: var(--accent);
}

.hero-title {
   font-family: var(--kume-fe9);
   font-size: clamp(2.35rem, 1.8rem + 2.75vw, 4.5rem);
   font-weight: 400;

   line-height: 1.08;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-bottom: var(--space-md);
   max-width: 14ch;
}

.hero-lede {
   font-family: var(--kume-25e);
   font-size: var(--font-size-md);
   line-height: var(--leading-base);
   color: var(--ink);
   max-width: var(--measure-lede);
   margin-bottom: var(--space-xl);
}

.hero-actions {
   display: flex;
   align-items: center;
   gap: var(--space-md);
   flex-wrap: wrap;
}

.hero-meta-row {
   margin-top: var(--space-2xl);
   padding-top: var(--space-md);
   border-top: 1px solid var(--line);
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-lg);
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   background-color: rgba(237, 230, 228, 0.94);
   padding: var(--space-sm) var(--space-md);
   border-radius: var(--radius-xs);
}

.hero-meta-item {
   display: flex;
   flex-direction: column;
   gap: 2px;
}

.hero-meta-label {
   font-family: var(--kume-1f2);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   font-size: 0.7rem;
   color: #3b3635;
}

.hero-meta-val {
   color: #1a1817;
   font-weight: 600;
}


.narrative-spine {
   position: relative;
}

.verb-panel {
   padding-top: clamp(3.5rem, 2.8rem + 3.5vw, 6.5rem);
   padding-bottom: clamp(3rem, 2.5rem + 2.5vw, 5.5rem);
   border-bottom: 1px solid var(--line);
   position: relative;
}

.verb-split-grid {
   display: grid;
   grid-template-columns: 1.2fr minmax(320px, 1fr);
   gap: var(--space-2xl);
   align-items: start;
}

@media (max-width: 1100px) {
   .verb-split-grid {
      grid-template-columns: 1fr;
      gap: var(--space-xl);
   }
}

.verb-aside-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-xl);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
   position: relative;
}

.aside-eyebrow {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: #7f3e3d;
   font-weight: 600;
}

.aside-title {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-xl);
   font-weight: 500;
   color: var(--ink);
   margin: 0;
   line-height: var(--leading-tight);
}

.aside-checklist {
   list-style: none;
   padding: 0;
   margin: var(--space-xs) 0;
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}

.aside-checklist li {
   padding-bottom: var(--space-xs);
   border-bottom: 1px solid var(--line);
   font-size: var(--font-size-sm);
   display: flex;
   flex-direction: column;
   gap: 2px;
}

.aside-checklist li:last-child {
   border-bottom: none;
   padding-bottom: 0;
}

.aside-checklist strong {
   color: var(--ink);
   font-weight: 600;
}

.aside-checklist span {
   color: var(--ink-soft);
   line-height: var(--leading-snug);
}

.aside-footer-note {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   color: var(--ink-soft);
   padding-top: var(--space-xs);
   border-top: 1px solid var(--line);
}

.verb-panel-alt {
   background-color: var(--surface);
}

.verb-header {
   margin-bottom: var(--space-xl);
}

.verb-act {
   font-family: var(--kume-fe9);
   font-size: clamp(2.75rem, 2.2rem + 3vw, 5rem);
   font-weight: 400;
   line-height: 1;
   letter-spacing: var(--tracking-tight);
   color: var(--ink);
   margin-bottom: var(--space-xs);
   display: block;
}

.verb-subline {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-xl);
   font-weight: 400;
   font-style: italic;
   color: var(--ink-soft);
   max-width: 32ch;
   line-height: var(--leading-snug);
}

.verb-body {
   max-width: var(--measure-prose);
   font-size: var(--font-size-base);
   line-height: var(--leading-base);
   color: var(--ink);
}

.verb-body p {
   margin-bottom: var(--space-md);
}

.verb-body p:last-child {
   margin-bottom: 0;
}

.verb-metrics-strip {
   margin-top: var(--space-xl);
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: var(--space-md);
   padding: var(--space-md);
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
}

.metric-cell {
   display: flex;
   flex-direction: column;
   gap: 4px;
}

.metric-figure {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xl);
   font-weight: 500;
   color: var(--ink);
   line-height: 1;
}

.metric-label {
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   line-height: var(--leading-snug);
}

/* Full Bleed Photographic Bands */
.editorial-band {
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
   position: relative;
   background-color: var(--surface-2);
   border-top: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
   overflow: hidden;
}

.editorial-band-media {
   position: relative;
   width: 100%;
   max-height: 560px;
   overflow: hidden;
}

.editorial-band-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transform-origin: center;
   will-change: transform;
}

.editorial-band-bar {
   width: 100%;
   box-sizing: border-box;
   padding: 0.625rem clamp(1rem, 0.6rem + 2vw, 3rem);
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-sm);
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
}

.editorial-band-tag {
   display: flex;
   align-items: center;
   gap: var(--space-xs);
   min-width: 0;
   max-width: 100%;
}

.editorial-band-note {
   font-style: italic;
   font-family: var(--kume-fe9);
   font-size: var(--font-size-sm);
   color: var(--ink);
   min-width: 0;
   max-width: 100%;
   overflow-wrap: break-word;
}


.signature-collage-section {
   padding: clamp(3.5rem, 2.8rem + 3.5vw, 6rem) 0;
   background-color: var(--ground);
   border-bottom: 1px solid var(--line);
   overflow: hidden;
}

.collage-intro {
   max-width: var(--measure-prose);
   margin-bottom: var(--space-2xl);
}

.collage-canvas {
   position: relative;
   width: 100%;
   max-width: 1080px;
   margin: 0 auto;
   height: 580px;
}

@media (min-width: 861px) and (max-width: 1120px) {
   .collage-canvas {
      height: 440px;
   }
   .collage-layer-secondary {
      height: 270px;
   }
   .collage-layer-primary {
      height: 330px;
   }
}

.collage-layer {
   position: absolute;
   background-color: var(--surface);
   border: 1px solid var(--line);
   box-shadow: var(--shadow-elevated);
   overflow: hidden;
   display: flex;
   flex-direction: column;
   transition: transform var(--dur-slow) var(--ease-standard),
                     box-shadow var(--dur-slow) var(--ease-standard);
   will-change: transform;
}

.collage-layer picture {
   flex: 1 1 auto;
   min-height: 0;
   width: 100%;
   display: block;
   overflow: hidden;
}

.collage-layer img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.collage-caption-tag {
   position: relative;
   flex-shrink: 0;
   inset-inline: 0;
   padding: 0.5rem 0.875rem;
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   color: #1a1817;
   display: flex;
   justify-content: space-between;
   z-index: 5;
}

.collage-caption-tag span {
   position: relative;
   z-index: 6;
   color: #1a1817;
   font-weight: 500;
}

.collage-layer-primary {
   width: 58%;
   height: 420px;
   top: 0;
   left: 2%;
   z-index: 10;
   transform: rotate(-2deg);
}

.collage-layer-secondary {
   width: 48%;
   height: 380px;
   top: 70px;
   right: 2%;
   z-index: 20;
   transform: rotate(1.5deg);
}

.collage-layer-tertiary {
   width: 40%;
   height: 290px;
   bottom: 10px;
   left: 28%;
   z-index: 30;
   transform: rotate(-0.75deg);
}

.collage-layer:hover {
   z-index: 10;
   transform: scale(1.02) rotate(0deg);
   box-shadow: 0 16px 36px -8px rgba(43, 40, 39, 0.18);
}

@media (max-width: 860px) {
   .collage-canvas {
      height: 480px;
   }
   .collage-layer-primary {
      width: 68%;
      height: 300px;
      left: 0;
   }
   .collage-layer-secondary {
      width: 62%;
      height: 280px;
      right: 0;
      top: 90px;
   }
   .collage-layer-tertiary {
      width: 56%;
      height: 220px;
      left: 18%;
      bottom: 0;
   }
}

@media (max-width: 540px) {
   .collage-canvas {
      height: 420px;
   }
   .collage-layer-primary {
      width: 78%;
      height: 240px;
   }
   .collage-layer-secondary {
      width: 72%;
      height: 220px;
      top: 110px;
   }
   .collage-layer-tertiary {
      width: 68%;
      height: 180px;
      left: 10%;
   }
}


.page-intro-header {
   padding-top: clamp(2.5rem, 2rem + 2.5vw, 4.5rem);
   padding-bottom: clamp(2.5rem, 2rem + 2.5vw, 4rem);
   background-color: var(--surface);
   border-bottom: 1px solid var(--line);
}

.page-breadcrumb {
   margin-bottom: var(--space-md);
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   display: flex;
   align-items: center;
   gap: var(--space-xs);
}

.page-breadcrumb a {
   color: var(--ink-soft);
   text-decoration: none;
}

.page-breadcrumb a:hover {
   color: var(--accent);
   text-decoration: underline;
}

.page-intro-title {
   font-family: var(--kume-fe9);
   font-size: clamp(2.2rem, 1.7rem + 2vw, 3.75rem);
   font-weight: 400;
   line-height: 1.1;
   color: var(--ink);
   letter-spacing: var(--tracking-tight);
   margin-bottom: var(--space-md);
   max-width: 18ch;
}

.page-intro-lede {
   font-family: var(--kume-25e);
   font-size: var(--font-size-md);
   line-height: var(--leading-base);
   color: var(--ink-soft);
   max-width: var(--measure-lede);
   margin-bottom: var(--space-lg);
}

.page-intro-facts {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-lg);
   padding-top: var(--space-md);
   border-top: 1px solid var(--line);
   font-size: var(--font-size-xs);
}

.page-fact-node {
   display: flex;
   flex-direction: column;
   gap: 2px;
}

.page-fact-label {
   font-family: var(--kume-1f2);
   font-size: 0.7rem;
   text-transform: uppercase;
   color: var(--ink-soft);
   letter-spacing: var(--tracking-wide);
}

.page-fact-value {
   font-family: var(--kume-25e);
   color: var(--ink);
   font-weight: 600;
}


.track-listing {
   margin: var(--space-2xl) 0;
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
}

.track-row {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-xl);
   display: grid;
   grid-template-columns: 2fr 1fr;
   gap: var(--space-xl);
   align-items: start;
   transition: border-color var(--dur-fast) var(--ease-standard),
                     box-shadow var(--dur-fast) var(--ease-standard);
}

.track-row:hover {
   border-color: var(--ink-soft);
   box-shadow: var(--shadow-subtle);
}

@media (max-width: 860px) {
   .track-row {
      grid-template-columns: 1fr;
      gap: var(--space-lg);
   }
}

.track-meta-kicker {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   margin-bottom: var(--space-2xs);
}

.track-title {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-2xl);
   font-weight: 400;
   margin-bottom: var(--space-xs);
}

.track-description {
   font-size: var(--font-size-sm);
   color: var(--ink);
   line-height: var(--leading-base);
   margin-bottom: var(--space-md);
   max-width: var(--measure-prose);
}

.track-module-list {
   list-style: none;
   padding: 0;
   margin: var(--space-md) 0 0 0;
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-xs);
}

.track-module-pill {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   padding: 0.25rem 0.5rem;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   color: var(--ink);
}

.track-sidebar-box {
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   padding: var(--space-md);
   border-radius: var(--radius-xs);
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}

.track-fee-label {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   color: var(--ink-soft);
   text-transform: uppercase;
}

.track-fee-amount {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-lg);
   font-weight: 600;
   color: var(--ink);
}

.track-specs-mini {
   list-style: none;
   padding: 0;
   margin: 0;
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   display: flex;
   flex-direction: column;
   gap: 4px;
}

.track-specs-mini li {
   margin: 0;
   display: flex;
   justify-content: space-between;
   border-bottom: 1px solid var(--line);
   padding-bottom: 3px;
}

.track-specs-mini li:last-child {
   border-bottom: none;
}


.service-spec-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
   gap: var(--space-lg);
   margin: var(--space-2xl) 0;
}

.service-spec-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-lg);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}

.service-spec-card .card-head-mono {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   text-transform: uppercase;
   color: var(--ink-soft);
}

.service-spec-card h3 {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-lg);
   font-weight: 500;
   margin: 0;
}

.service-spec-card p {
   font-size: var(--font-size-sm);
   color: var(--ink);
   margin: var(--space-xs) 0 0 0;
}

.curriculum-flow-table {
   width: 100%;
   border-collapse: collapse;
   margin: var(--space-xl) 0;
   background-color: var(--surface);
   border: 1px solid var(--line);
}

.curriculum-flow-table th,
.curriculum-flow-table td {
   padding: 1rem 1.25rem;
   border-bottom: 1px solid var(--line);
   vertical-align: top;
   font-size: var(--font-size-sm);
}

.curriculum-flow-table th {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   background-color: var(--surface-2);
   color: var(--ink-soft);
   text-align: left;
}

.curriculum-flow-table tr:last-child td {
   border-bottom: none;
}

.curriculum-flow-table .col-duration {
   font-family: var(--kume-1f2);
   white-space: nowrap;
   width: 140px;
}

.curriculum-flow-table .col-rate {
   font-family: var(--kume-1f2);
   white-space: nowrap;
   width: 180px;
   font-weight: 500;
}


.work-filter-bar {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-xs);
   margin-bottom: var(--space-xl);
   padding-bottom: var(--space-md);
   border-bottom: 1px solid var(--line);
}

.work-filter-btn {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   padding: 0.375rem 0.875rem;
   border: 1px solid var(--line);
   background-color: var(--surface);
   border-radius: var(--radius-xs);
   color: var(--ink);
   cursor: pointer;
   min-height: 38px;
   transition: background-color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard);
}

.work-filter-btn:hover {
   background-color: var(--surface-hover);
   border-color: var(--ink-soft);
}

.work-filter-btn[aria-pressed="true"],
.work-filter-btn.is-active {
   background-color: var(--ink);
   color: var(--ground);
   border-color: var(--ink);
}

.work-portfolio-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
   gap: var(--space-xl);
   margin-bottom: var(--space-3xl);
}

.work-card {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   overflow: hidden;
   display: flex;
   flex-direction: column;
   transition: border-color var(--dur-fast) var(--ease-standard),
                     box-shadow var(--dur-fast) var(--ease-standard),
                     transform var(--dur-instant) var(--ease-standard);
}

.work-card:hover {
   border-color: var(--ink-soft);
   box-shadow: var(--shadow-subtle);
   transform: translateY(-2px);
}

.work-card-thumb {
   position: relative;
   width: 100%;
   aspect-ratio: 16 / 10;
   background-color: var(--surface-2);
   overflow: hidden;
   border-bottom: 1px solid var(--line);
}

.work-card-thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform var(--dur-slow) var(--ease-standard);
}

.work-card:hover .work-card-thumb img {
   transform: scale(1.03);
}

.work-card-body {
   padding: var(--space-md);
   flex: 1 1 auto;
   display: flex;
   flex-direction: column;
}

.work-card-category {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   color: var(--ink-soft);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wide);
   margin-bottom: var(--space-2xs);
}

.work-card-title {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-xl);
   font-weight: 500;
   margin-bottom: var(--space-xs);
}

.work-card-summary {
   font-size: var(--font-size-sm);
   color: var(--ink);
   line-height: var(--leading-base);
   margin-bottom: var(--space-md);
}

.work-card-specs {
   margin-top: auto;
   padding-top: var(--space-sm);
   border-top: 1px solid var(--line);
   display: flex;
   justify-content: space-between;
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
}


.rates-tier-container {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
   gap: var(--space-xl);
   margin: var(--space-2xl) 0;
}

.rate-tier-box {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-xl);
   display: flex;
   flex-direction: column;
   position: relative;
}

.rate-tier-box.is-flagged {
   border-color: var(--ink);
   box-shadow: var(--shadow-subtle);
   background-color: #e6dfdd;
}

.rate-tier-tag {
   display: inline-block;
   align-self: flex-start;
   font-family: var(--kume-1f2);
   font-size: 0.7rem;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   padding: 0.25rem 0.5rem;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   color: var(--ink-soft);
   margin-bottom: var(--space-sm);
}

.rate-tier-title {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-2xl);
   font-weight: 400;
   margin-bottom: var(--space-xs);
}

.rate-tier-price {
   font-family: var(--kume-1f2);
   font-size: clamp(1.8rem, 1.5rem + 1vw, 2.5rem);
   font-weight: 600;
   color: var(--ink);
   line-height: 1;
   margin-bottom: var(--space-xs);
}

.rate-tier-basis {
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   margin-bottom: var(--space-lg);
   display: block;
}

.rate-feature-list {
   list-style: none;
   padding: 0;
   margin: 0 0 var(--space-xl) 0;
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   font-size: var(--font-size-sm);
   color: var(--ink);
   border-top: 1px solid var(--line);
   padding-top: var(--space-md);
}

.rate-feature-list li {
   display: flex;
   align-items: flex-start;
   gap: var(--space-xs);
}

.rate-feature-list .icon {
   width: 1rem;
   height: 1rem;
   margin-top: 3px;
   color: var(--accent);
}

.rate-tier-cta {
   margin-top: auto;
}

.comparison-matrix-wrap {
   width: 100%;
   overflow-x: auto;
   margin: var(--space-2xl) 0;
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
}

.comparison-matrix {
   width: 100%;
   border-collapse: collapse;
   font-size: var(--font-size-sm);
   min-width: 600px;
}

.comparison-matrix th,
.comparison-matrix td {
   padding: 1rem 1.25rem;
   border-bottom: 1px solid var(--line);
   vertical-align: middle;
}

.comparison-matrix th {
   background-color: var(--surface-2);
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
   text-align: left;
}

.comparison-matrix td:first-child {
   font-weight: 600;
}

.comparison-matrix tr:last-child td {
   border-bottom: none;
}

.comparison-matrix tr:hover td {
   background-color: var(--surface-hover);
}


.scope-lookup-wrap {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
   margin: var(--space-2xl) 0;
   box-shadow: var(--shadow-subtle);
}

.scope-lookup-grid {
   display: grid;
   grid-template-columns: 1.4fr 1fr;
   gap: var(--space-2xl);
}

@media (max-width: 900px) {
   .scope-lookup-grid {
      grid-template-columns: 1fr;
      gap: var(--space-xl);
   }
}

.tool-controls-pane {
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}

.tool-field-block {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}

.tool-field-header {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
}

.tool-field-title {
   font-size: var(--font-size-sm);
   font-weight: 600;
   color: var(--ink);
}

.tool-field-val {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-sm);
   font-weight: 500;
   color: var(--ink);
}

.tool-range-slider {
   width: 100%;
   height: 6px;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   outline: none;
   accent-color: var(--accent);
   cursor: pointer;
}

.tool-checkbox-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xs);
   margin-top: var(--space-xs);
}

.tool-toggle-card {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 0.75rem 1rem;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   cursor: pointer;
   user-select: none;
   min-height: 48px;
   transition: background-color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard);
}

.tool-toggle-card:hover {
   background-color: var(--surface-hover);
   border-color: var(--ink-soft);
}

.tool-toggle-card input[type="checkbox"] {
   accent-color: var(--accent);
   width: 18px;
   height: 18px;
   cursor: pointer;
}

.tool-result-pane {
   background-color: var(--ground);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-xl);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   gap: var(--space-lg);
}

.tool-result-header {
   border-bottom: 1px solid var(--line);
   padding-bottom: var(--space-sm);
}

.tool-result-mono {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
}

.tool-output-price {
   font-family: var(--kume-1f2);
   font-size: clamp(2.2rem, 1.8rem + 1.5vw, 3.25rem);
   font-weight: 600;
   color: var(--ink);
   line-height: 1.1;
   margin: var(--space-xs) 0;
}

.tool-output-hours {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-md);
   color: var(--ink-soft);
}

.tool-note-box {
   padding: var(--space-sm);
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   line-height: var(--leading-snug);
}

.tool-disclaimer {
   font-size: 0.75rem;
   color: var(--ink-soft);
   font-style: italic;
   margin-top: var(--space-xs);
}


.about-profile-hero {
   display: grid;
   grid-template-columns: 1.2fr 1fr;
   gap: var(--space-2xl);
   align-items: center;
   margin: var(--space-2xl) 0;
}

@media (max-width: 860px) {
   .about-profile-hero {
      grid-template-columns: 1fr;
      gap: var(--space-xl);
   }
}

.about-profile-photo {
   position: relative;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   box-shadow: var(--shadow-elevated);
}

.about-profile-photo img {
   width: 100%;
   aspect-ratio: 4 / 3;
   object-fit: cover;
   display: block;
}

.about-profile-caption {
   padding: var(--space-xs) var(--space-sm);
   background-color: var(--surface);
   border-top: 1px solid var(--line);
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   color: var(--ink-soft);
}

.about-credentials-table {
   width: 100%;
   border-collapse: collapse;
   margin: var(--space-xl) 0;
   background-color: var(--surface);
   border: 1px solid var(--line);
   font-size: var(--font-size-sm);
}

.about-credentials-table th,
.about-credentials-table td {
   padding: 0.875rem 1.125rem;
   border-bottom: 1px solid var(--line);
   text-align: left;
}

.about-credentials-table th {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   color: var(--ink-soft);
   background-color: var(--surface-2);
   width: 32%;
}

.about-credentials-table tr:last-child td,
.about-credentials-table tr:last-child th {
   border-bottom: none;
}


.contact-layout-grid {
   display: grid;
   grid-template-columns: 1.4fr 1fr;
   gap: var(--space-2xl);
   margin: var(--space-2xl) 0;
}

@media (max-width: 960px) {
   .contact-layout-grid {
      grid-template-columns: 1fr;
      gap: var(--space-xl);
   }
}

.contact-form-pane {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
}

.contact-info-pane {
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
}

.contact-card-box {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-lg);
}

.contact-card-box h4 {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
   margin-bottom: var(--space-sm);
}

.contact-card-box address {
   font-style: normal;
   font-size: var(--font-size-sm);
   line-height: var(--leading-base);
   color: var(--ink);
   margin-bottom: var(--space-sm);
}

.contact-hours-list {
   list-style: none;
   padding: 0;
   margin: 0;
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
}

.contact-hours-list li {
   display: flex;
   justify-content: space-between;
   padding: 4px 0;
   border-bottom: 1px solid var(--line);
}

.contact-hours-list li:last-child {
   border-bottom: none;
}


.privacy-tabs-container {
   margin: var(--space-2xl) 0;
}

.privacy-tablist {
   display: flex;
   flex-wrap: wrap;
   gap: 2px;
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-bottom: none;
   border-radius: var(--radius-xs) var(--radius-xs) 0 0;
   padding: 4px 4px 0 4px;
}

@media (min-width: 1024px) {
   .site-header,
   header.site-header,
   header.site-header * {
      display: none !important;
   }
}

.privacy-tab-btn {
   padding: 0.75rem 1.25rem;
   font-family: var(--kume-25e);
   font-size: var(--font-size-sm);
   font-weight: 500;
   color: var(--ink-soft);
   background: transparent;
   border: 1px solid transparent;
   border-bottom: none;
   border-radius: var(--radius-xs) var(--radius-xs) 0 0;
   cursor: pointer;
   min-height: 44px;
   transition: background-color var(--dur-fast) var(--ease-standard),
                     color var(--dur-fast) var(--ease-standard);
}

.privacy-tab-btn:hover {
   color: var(--ink);
   background-color: var(--surface);
}

.privacy-tab-btn[aria-selected="true"] {
   background-color: var(--ground);
   color: var(--ink);
   font-weight: 600;
   border-color: var(--line);
   position: relative;
   margin-bottom: -1px;
}

.privacy-tab-btn:focus-visible {
   outline: 2px solid var(--focus-ring);
   outline-offset: -2px;
}

.privacy-tabpanel {
   background-color: var(--ground);
   border: 1px solid var(--line);
   padding: clamp(1.5rem, 1rem + 2vw, 3rem);
}

.privacy-tabpanel[hidden] {
   display: none;
}

.privacy-tabpanel h3 {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-2xl);
   font-weight: 400;
   margin-bottom: var(--space-md);
}

.privacy-tabpanel h4 {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-lg);
   font-weight: 500;
   margin: var(--space-lg) 0 var(--space-xs) 0;
}

@media (max-width: 767px) {
   .privacy-tablist {
      display: none;
   }
   .privacy-tabpanel {
      display: block !important;
      border-bottom: none;
      padding: var(--space-lg);
   }
   .privacy-tabpanel:last-child {
      border-bottom: 1px solid var(--line);
   }
   .privacy-accordion-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 1rem;
      background-color: var(--surface);
      border: 1px solid var(--line);
      border-top: none;
      font-weight: 600;
      font-size: var(--font-size-sm);
      color: var(--ink);
      cursor: pointer;
      min-height: 48px;
   }
   .privacy-accordion-toggle:first-of-type {
      border-top: 1px solid var(--line);
   }
}

@media (min-width: 768px) {
   .privacy-accordion-toggle {
      display: none;
   }
}


.cookies-at-a-glance-panel {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-xl);
   margin: var(--space-2xl) 0;
   box-shadow: var(--shadow-subtle);
}

.cookies-glance-title {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
   margin-bottom: var(--space-md);
}

.cookies-glance-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
   gap: var(--space-md);
}

.cookies-glance-cell {
   background-color: var(--surface-2);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: 0.875rem 1rem;
   display: flex;
   flex-direction: column;
   gap: 4px;
}

.cookies-glance-key {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   text-transform: uppercase;
   color: var(--ink-soft);
   letter-spacing: var(--tracking-wide);
}

.cookies-glance-val {
   font-size: var(--font-size-sm);
   color: var(--ink);
   font-weight: 500;
   line-height: var(--leading-snug);
}

.cookies-prose-container {
   max-width: var(--measure-prose);
   margin: var(--space-2xl) 0;
   font-size: var(--font-size-base);
   line-height: var(--leading-base);
}

.cookies-prose-container h3 {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-xl);
   font-weight: 500;
   margin: var(--space-xl) 0 var(--space-xs) 0;
}

.cookies-prose-container h4 {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-lg);
   font-weight: 500;
   margin: var(--space-lg) 0 var(--space-xs) 0;
}


.terms-sticky-layout {
   display: grid;
   grid-template-columns: 240px 1fr;
   gap: var(--space-2xl);
   margin: var(--space-2xl) 0;
   position: relative;
}

@media (max-width: 860px) {
   .terms-sticky-layout {
      grid-template-columns: 1fr;
      gap: var(--space-lg);
   }
}

.terms-index-nav {
   position: sticky;
   top: var(--space-xl);
   height: fit-content;
   max-height: calc(100vh - var(--space-2xl));
   overflow-y: auto;
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-xs);
   padding: var(--space-md);
}

.terms-index-title {
   font-family: var(--kume-1f2);
   font-size: 0.75rem;
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-soft);
   margin-bottom: var(--space-sm);
   padding-bottom: var(--space-xs);
   border-bottom: 1px solid var(--line);
}

.terms-index-list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 2px;
}

.terms-index-link {
   display: flex;
   align-items: baseline;
   gap: var(--space-xs);
   padding: 0.375rem 0.5rem;
   font-size: var(--font-size-xs);
   color: var(--ink-soft);
   text-decoration: none;
   border-radius: var(--radius-xs);
   border-left: 2px solid transparent;
   min-height: 36px;
   line-height: var(--leading-snug);
   transition: color var(--dur-fast) var(--ease-standard),
                     background-color var(--dur-fast) var(--ease-standard);
}

.terms-index-link .term-num {
   font-family: var(--kume-1f2);
   font-size: 0.7rem;
   opacity: 0.8;
}

.terms-index-link:hover {
   color: var(--ink);
   background-color: var(--surface-hover);
}

.terms-index-link.is-current {
   color: var(--ink);
   background-color: var(--surface-2);
   border-left-color: var(--accent);
   font-weight: 600;
}

.terms-mobile-jump {
   display: none;
   margin-bottom: var(--space-lg);
}

@media (max-width: 860px) {
   .terms-index-nav {
      display: none;
   }
   .terms-mobile-jump {
      display: block;
      position: sticky;
      top: calc(var(--header-mobile-h) + 8px);
      z-index: 80;
      background-color: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-xs);
      padding: var(--space-xs) var(--space-sm);
   }
   .terms-mobile-jump select {
      width: 100%;
      min-height: 44px;
      padding: 0.5rem;
      font-size: var(--font-size-sm);
      background-color: var(--ground);
      border: 1px solid var(--line);
      border-radius: var(--radius-xs);
      color: var(--ink);
   }
}

.terms-prose-column {
   max-width: var(--measure-prose);
}

.terms-section-block {
   margin-bottom: var(--space-3xl);
   scroll-margin-top: var(--space-xl);
}

.terms-section-header {
   margin-bottom: var(--space-md);
   padding-bottom: var(--space-xs);
   border-bottom: 1px solid var(--line);
   display: flex;
   align-items: baseline;
   gap: var(--space-sm);
}

.terms-sec-badge {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-sm);
   font-weight: 600;
   color: var(--accent);
}

.terms-section-title {
   font-family: var(--kume-fe9);
   font-size: var(--font-size-xl);
   font-weight: 500;
   color: var(--ink);
}


.faq-accordion-group {
   margin: var(--space-xl) 0;
   border-top: 1px solid var(--line);
}

.faq-item {
   border-bottom: 1px solid var(--line);
}

.faq-question-btn {
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 100%;
   padding: 1.25rem 0;
   background: transparent;
   border: 0;
   text-align: left;
   font-family: var(--kume-fe9);
   font-size: var(--font-size-lg);
   font-weight: 500;
   color: var(--ink);
   cursor: pointer;
   min-height: 48px;
   gap: var(--space-md);
   transition: color var(--dur-fast) var(--ease-standard);
}

.faq-question-btn:hover {
   color: var(--accent);
}

.faq-question-btn .faq-icon {
   width: 1.25rem;
   height: 1.25rem;
   transition: transform var(--dur-base) var(--ease-standard);
   flex-shrink: 0;
}

.faq-question-btn[aria-expanded="true"] .faq-icon {
   transform: rotate(180deg);
}

.faq-answer-panel {
   padding-bottom: 1.25rem;
   font-size: var(--font-size-sm);
   line-height: var(--leading-base);
   color: var(--ink);
   max-width: var(--measure-prose);
}

.faq-answer-panel[hidden] {
   display: none;
}


.error-404-container {
   min-height: 70vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   padding: var(--space-3xl) 0;
}

.error-code-badge {
   font-family: var(--kume-1f2);
   font-size: var(--font-size-xs);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--accent);
   margin-bottom: var(--space-sm);
}

.error-title {
   font-family: var(--kume-fe9);
   font-size: clamp(3rem, 2.5rem + 3vw, 5.5rem);
   font-weight: 400;
   line-height: 1;
   margin-bottom: var(--space-md);
}

.error-lede {
   font-size: var(--font-size-md);
   color: var(--ink-soft);
   max-width: var(--measure-lede);
   margin-bottom: var(--space-xl);
}


@media (max-width: 360px) {
   :root {
      --font-size-base: 0.9375rem;
   }
   .hero-title {
      font-size: 2rem;
   }
   .btn {
      padding: 0.625rem 1rem;
      font-size: 0.8125rem;
   }
   .footer-facts-block {
      grid-template-columns: 1fr;
   }
}
