.icon {
   width:1.15em;
   height:1.15em;
   display:inline-block;
   vertical-align:-0.18em;

   fill:currentColor;
   flex-shrink:0;
   transition:transform var(--dur-fast) var(--ease-standard), fill var(--dur-fast) var(--ease-standard);
}

.icon--sm {
   width:0.95em;
   height:0.95em;
}

.icon--lg {
   width:1.45em;
   height:1.45em;
}

.icon--xl {
   width:2em;
   height:2em;
}

.site-header {
   position:sticky;
   top:0;
   z-index:1000;
   width:100%;
   background-color:var(--bg-surface);
   border-bottom:1px solid var(--border-ledger);
   transition:background-color var(--dur-med) var(--ease-standard), box-shadow var(--dur-med) var(--ease-standard);
}

@supports (backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px)) {
   .site-header {
      background-color:var(--bg-translucent);
      -webkit-backdrop-filter:blur(12px);
      backdrop-filter:blur(12px);
   }
}

.site-header.is-condensed {
   box-shadow:var(--shadow-md);
   border-bottom-color:var(--border-ledger-strong);
}

.site-header.is-condensed .utility-bar {
   display:none;
}

.utility-bar {
   background-color:var(--bg-surface-deep);
   border-bottom:1px solid var(--border-ledger);
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
   line-height:var(--utility-height);
   min-height:var(--utility-height);
}

.utility-bar__inner {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-md);
   flex-wrap:wrap;
}

.utility-bar__list {
   display:flex;
   align-items:center;
   gap:var(--space-md);
   list-style:none;
   padding:0;
   margin:0;
   flex-wrap:wrap;
}

.utility-bar__item {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   color:var(--text-muted);
}

.utility-bar__item a {
   color:var(--text-muted);
   text-decoration:none;

   transition:color var(--dur-fast) var(--ease-standard);
}

.utility-bar__item a:hover {
   color:var(--accent-sage);
}

.utility-bar__item a:active {
   color:var(--text-main);
}

.utility-bar__item a:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
   border-radius:var(--radius-xs);
}

.utility-bar__badge {
   color:#FFF;
   background:#3A140C;
   padding:0.1rem 0.45rem;
   border-radius:var(--radius-xs);
   border:1px solid rgba(255, 255, 255, 0.28);
}

.masthead {
   display:flex;
   align-items:center;
   justify-content:space-between;
   min-height:var(--header-height);
   gap:var(--space-md);
   position:relative;
}

.brand {
   display:inline-flex;
   align-items:center;
   text-decoration:none;
   flex-shrink:0;
   padding:var(--space-xs) 0;
   min-height:44px;
}

.brand:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:4px;
   border-radius:var(--radius-xs);
}

.brand__img {
   height:2.15rem;
   width:auto;
   display:block;
}

.nav-toggle {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   gap:var(--space-xs);
   min-height:44px;
   min-width:44px;
   padding:0.5rem 0.85rem;
   background:var(--bg-surface-deep);
   border:1px solid var(--border-ledger);
   border-radius:var(--radius-xs);
   color:var(--text-main);
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
}

.nav-toggle:hover {
   background:var(--bg-surface-elevated);
   border-color:var(--accent-sage);
   color:var(--text-main);
}

.nav-toggle:active {
   background:var(--bg-surface-deep);
   transform:scale(0.97);
}

.nav-toggle:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.site-nav {
   display:none;
   position:absolute;
   top:100%;
   left:0;
   right:0;
   background:var(--bg-surface-deep);
   border-bottom:2px solid var(--accent-sage);
   box-shadow:var(--shadow-ambient);
   padding:var(--space-lg) var(--container-pad) var(--space-xl);
   max-height:calc(100vh - var(--header-height) - var(--utility-height));
   overflow-y:auto;
   z-index:999;
}

.site-nav.is-open {
   display:block;
}

.site-nav__grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
   max-width:var(--container-max);
   margin:0 auto;
}

.site-nav__section {
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
}

.site-nav__heading {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--accent-sage);
   text-transform:uppercase;
   letter-spacing:0.08em;
   padding-bottom:var(--space-xs);
   border-bottom:1px solid var(--border-ledger);
   margin-bottom:var(--space-2xs);
}

.site-nav__list {
   list-style:none;
   padding:0;
   margin:0;
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}

.site-nav__link {
   display:flex;

   align-items:baseline;
   justify-content:space-between;
   padding:0.5rem var(--space-xs);
   color:var(--text-main);
   text-decoration:none;
   font-size:var(--fs-base);
   font-weight:500;
   border-radius:var(--radius-xs);
   min-height:44px;
   transition:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), padding-left var(--dur-fast) var(--ease-standard);
}

.site-nav__link:hover {
   background:var(--bg-surface);
   color:var(--accent-sage);
   padding-left:var(--space-sm);
}

.site-nav__link:active {
   background:var(--bg-ground);
   color:var(--text-main);
}

.site-nav__link:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:-2px;
}

.site-nav__link[aria-current='page'] {
   color:var(--accent-sage);
   font-weight:700;
   border-left:2px solid var(--accent-sage);
}

.site-nav__tag {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
   font-weight:400;
}

.site-nav__tile-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-sm);
}

.site-nav__tile {
   display:flex;
   align-items:center;
   gap:var(--space-sm);
   padding:var(--space-xs);
   background:var(--bg-surface);
   border:1px solid var(--border-ledger);
   border-radius:var(--radius-xs);
   text-decoration:none;
   color:var(--text-main);
   transition:border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);
   min-height:56px;
}

.site-nav__tile:hover {
   border-color:var(--accent-sage);
   background:var(--bg-surface-elevated);
   transform:translateY(-1px);
}

.site-nav__tile:active {
   transform:translateY(0);
   background:var(--bg-ground);
}

.site-nav__tile:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.site-nav__tile-title {
   font-family:var(--nada-d2e);
   font-size:var(--fs-base);
   color:var(--text-main);
   line-height:var(--lh-tight);
}

.site-nav__tile-meta {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
}

@media (min-width: 960px) {
   .nav-toggle {
      display:none;
   }

   .site-nav {
      display:block;
      position:static;
      background:transparent;
      border-bottom:none;
      box-shadow:none;
      padding:0;
      max-height:none;
      overflow-y:visible;
   }

   .site-nav__bar {
      display:flex;
      align-items:center;
      gap:var(--space-xs);
      list-style:none;
      padding:0;
      margin:0;
   }

   .site-nav__item {
      position:relative;
   }

   .site-nav__main-link {
      display:inline-flex;
      align-items:center;
      gap:0.35rem;
      padding:0.6rem 0.85rem;
      color:#FFF;
      text-decoration:none;
      font-size:var(--fs-sm);
      font-weight:500;
      border-radius:var(--radius-xs);
      min-height:44px;
      transition:background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);
   }

   .site-nav__main-link:hover {
      background:var(--bg-surface-elevated);
      color:#FFF;
   }

   .site-nav__main-link:active {
      background:var(--bg-surface-deep);
   }

   .site-nav__main-link:focus-visible {
      outline:2px solid var(--border-focus);
      outline-offset:2px;
   }

   .site-nav__main-link[aria-current='page'] {
      color:#FFF;
      text-decoration:underline;
      text-underline-offset:4px;
   }

   .mega-menu {
      position:absolute;
      top:100%;
      right:0;
      width:620px;
      background:var(--bg-surface-deep);
      border:1px solid var(--border-ledger-strong);
      border-top:2px solid var(--accent-sage);
      box-shadow:var(--shadow-ambient);
      padding:var(--space-lg);
      display:none;
      z-index:1010;
      border-radius:0 0 var(--radius-sm) var(--radius-sm);
   }

   .site-nav__item:hover .mega-menu,
   .site-nav__item:focus-within .mega-menu {
      display:block;
   }

   .mega-menu__columns {
      display:grid;
      grid-template-columns:1.1fr 1fr;
      gap:var(--space-lg);
   }
}

.btn {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   gap:0.5rem;
   padding:0.75rem 1.45rem;
   min-height:44px;
   font-family:var(--nada-d6b);
   font-size:var(--fs-sm);
   font-weight:500;
   letter-spacing:0.02em;
   text-decoration:none;
   cursor:pointer;
   border-radius:var(--radius-xs);
   line-height:1.3;
   border:1px solid transparent;
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);
   white-space:normal;
   text-align:center;
}

@media (max-width: 420px) {
   .btn {
      padding-left:0.5rem;
      padding-right:0.5rem;
      letter-spacing:0;
   }
}

.btn:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:3px;
}

.btn--primary {
   background-color:#240C07 !important;
   color:#FFF !important;
   border:1px solid rgba(255, 255, 255, 0.5) !important;
   box-shadow:0 2px 8px rgba(0, 0, 0, 0.45);
   font-weight:700;
}

.btn--primary:hover {
   background-color:#3A140C !important;
   border-color:#FFF !important;
   color:#FFF !important;
   transform:translateY(-1px);
   box-shadow:var(--shadow-md);
}

.btn--primary:active {
   background-color:#170704 !important;
   border-color:rgba(255, 255, 255, 0.4) !important;
   color:#FFF !important;
   transform:translateY(0);
   box-shadow:var(--shadow-sm);
}

.btn--outline {
   background-color:transparent;
   color:var(--text-main);
   border-color:var(--border-ledger-strong);
}

.btn--outline:hover {
   background-color:rgba(247, 242, 236, 0.08);
   border-color:var(--accent-sage);
   color:var(--accent-sage);
   transform:translateY(-1px);
}

.btn--outline:active {
   background-color:rgba(247, 242, 236, 0.14);
   transform:translateY(0);
}

.btn--subtle {
   background-color:var(--bg-surface-deep);
   color:var(--text-main);
   border-color:var(--border-ledger);
}

.btn--subtle:hover {
   background-color:var(--bg-surface-elevated);
   border-color:var(--accent-sage);
   color:var(--text-main);
   transform:translateY(-1px);
}

.btn--subtle:active {
   background-color:var(--bg-ground);
   transform:translateY(0);
}

.btn--sm {
   padding:0.45rem 0.95rem;
   font-size:var(--fs-xs);
   min-height:44px;
}

.btn--lg {
   padding:0.95rem 1.85rem;
   font-size:var(--fs-base);
   min-height:52px;
}

.btn--full {
   width:100%;
   max-width:100%;
}

@media (max-width: 480px) {
   .btn--full {
      padding-left:0.35rem;
      padding-right:0.35rem;
      font-size:0.8rem;
      letter-spacing:0;
   }
}

.badge {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   padding:0.25rem 0.6rem;
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:#FFF;
   background:#3A140C;
   border:1px solid rgba(255, 255, 255, 0.24);
   border-radius:var(--radius-xs);
   letter-spacing:0.02em;
   white-space:nowrap;
}

.badge--solid {
   background:#240C07 !important;
   color:#FFF !important;
   font-weight:700;
   border:1px solid rgba(255, 255, 255, 0.4) !important;
   box-shadow:0 1px 4px rgba(0, 0, 0, 0.4);
}

.badge--oxide {
   background:#3A140C;
   color:#FFF;
   border-color:rgba(255, 255, 255, 0.24);
}

.exchange-dialogue {
   display:flex;
   flex-direction:column;
   gap:clamp(2.5rem, 5vw, 4.5rem);
   width:100%;
}

.exchange-unit {
   position:relative;
   border-top:1px solid var(--border-ledger);
   padding-top:clamp(1.8rem, 3.5vw, 3rem);
}

.customer-prompt {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   padding:var(--space-md) var(--space-lg);
   background:var(--bg-surface);
   border-left:3px solid var(--accent-gold);
   border-radius:0 var(--radius-xs) var(--radius-xs) 0;
   margin-bottom:var(--space-lg);
   max-width:54rem;
}

.customer-prompt__speaker {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--accent-gold);
   text-transform:uppercase;
   letter-spacing:0.05em;
   display:flex;
   align-items:center;
   gap:0.4rem;
}

.customer-prompt__quote {
   font-family:var(--nada-d2e);
   font-size:clamp(1.2rem, 1.05rem + 0.6vw, 1.65rem);
   line-height:var(--lh-snug);
   color:var(--text-main);
   margin:0;
   padding:0;
   border:none;
   background:transparent;
}

.business-reply {
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   padding-left:clamp(1rem, 3vw, 2.8rem);
   border-left:1px solid var(--border-ledger);
}

.business-reply__speaker {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:#FFF !important;
   text-transform:uppercase;
   letter-spacing:0.05em;
   display:flex;
   align-items:center;
   gap:0.4rem;
}

.business-reply__text {
   font-size:var(--fs-base);
   line-height:var(--lh-base);
   color:var(--text-main);
   max-width:65ch;
}

.business-reply__specs {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-sm);
   margin-top:var(--space-xs);
}

.business-reply__evidence {
   margin-top:var(--space-lg);
   position:relative;
   border:1px solid var(--border-ledger);
   background:var(--bg-surface-deep);
   border-radius:var(--radius-xs);
   overflow:hidden;
   display:flex;
   flex-direction:column;
   clear:both;
}

.business-reply__img {
   width:100%;
   height:auto;
   aspect-ratio:16 / 9;
   object-fit:cover;
   position:relative;
   z-index:1;
}

.business-reply__caption {
   padding:var(--space-sm) var(--space-md);
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
   background:#3A140C !important;
   border-top:1px solid var(--border-ledger);
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-md);
   flex-wrap:wrap;
   position:relative;
   z-index:10;
}

.card {
   background:var(--bg-surface);
   border:1px solid var(--border-ledger);
   border-radius:var(--radius-xs);
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   transition:border-color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
   position:relative;
}

.card:hover {
   border-color:var(--accent-sage);
   background:var(--bg-surface-elevated);
   transform:translateY(-2px);
}

.card:active {
   transform:translateY(0);
}

.card--deep {
   background:var(--bg-surface-deep);
}

.card__header {
   display:flex;
   align-items:flex-start;
   justify-content:space-between;
   gap:var(--space-sm);
   flex-wrap:wrap;
}

.card__title {
   font-family:var(--nada-d2e);
   font-size:var(--fs-lg);
   color:var(--text-main);
   line-height:var(--lh-snug);
}

.card__price {
   font-family:var(--nada-d6b);
   font-size:var(--fs-base);
   color:var(--accent-sage);
   font-weight:500;
}

.card__meta {
   display:flex;
   gap:var(--space-md);
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
}

.card__body {
   font-size:var(--fs-sm);
   color:var(--text-muted);
   line-height:var(--lh-base);
}

.card__footer {
   margin-top:auto;
   padding-top:var(--space-sm);
   border-top:1px solid var(--border-ledger);
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-md);
   flex-wrap:wrap;
}

.service-tile {
   background:var(--bg-surface);
   border:1px solid var(--border-ledger);
   border-radius:var(--radius-xs);
   overflow:hidden;
   display:flex;
   flex-direction:column;
   text-decoration:none;
   color:var(--text-main);
   transition:border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
}

.service-tile:hover {
   border-color:var(--accent-sage);
   transform:translateY(-2px);
}

.service-tile:active {
   transform:translateY(0);
}

.service-tile:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:3px;
}

.service-tile__figure {
   position:relative;
   aspect-ratio:16 / 10;
   overflow:hidden;
   background:var(--bg-surface-deep);
}

.service-tile__img {
   width:100%;
   height:100%;
   object-fit:cover;
   transition:transform var(--dur-med) var(--ease-out);
}

.service-tile:hover .service-tile__img {
   transform:scale(1.03);
}

.service-tile__content {
   padding:var(--space-md) var(--space-lg);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   flex-grow:1;
}

.service-tile__title {
   font-family:var(--nada-d2e);
   font-size:var(--fs-lg);
   color:var(--text-main);
}

.service-tile__band {
   font-family:var(--nada-d6b);
   font-size:var(--fs-sm);
   color:var(--accent-sage);
   font-weight:500;
}

.service-tile__desc {
   font-size:var(--fs-sm);
   color:var(--text-muted);
   line-height:var(--lh-base);
}

.ledger-table-wrap {
   width:100%;
   overflow-x:auto;
   -webkit-overflow-scrolling:touch;
   border:1px solid var(--border-ledger);
   border-radius:var(--radius-xs);
   background:var(--bg-surface-deep);
}

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

.ledger-table th,
.ledger-table td {
   padding:0.85rem var(--space-md);
   border-bottom:1px solid var(--border-ledger);
   font-size:var(--fs-sm);
}

.ledger-table th {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--accent-sage);
   text-transform:uppercase;
   letter-spacing:0.05em;
   background:var(--bg-surface);
   font-weight:500;
}

.ledger-table tr:hover td {
   background:rgba(247, 242, 236, 0.03);
}

.ledger-table td.is-price {
   font-family:var(--nada-d6b);
   color:var(--accent-sage);
   font-weight:500;
   white-space:nowrap;
}

.ledger-table td.is-time {
   font-family:var(--nada-d6b);
   color:var(--text-muted);
   white-space:nowrap;
}

.form-group {
   display:flex;
   flex-direction:column;
   gap:0.35rem;
   margin-bottom:var(--space-md);
   position:relative;
}

.form-label {
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-main);
   letter-spacing:0.02em;
}

.form-label__note {
   color:var(--text-muted);
   font-size:0.9em;
}

.form-input,
.form-select,
.form-textarea {
   width:100%;
   min-height:44px;
   padding:0.7rem 0.9rem;
   background:var(--bg-surface-deep);
   border:1px solid var(--border-ledger-strong);
   border-radius:var(--radius-xs);
   color:var(--text-main);
   font-family:var(--nada-3dd);
   font-size:var(--fs-base);
   transition:border-color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);
}

.form-input:hover,
.form-select:hover,
.form-textarea:hover {
   border-color:var(--accent-sage);
   background:#592318;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
   outline:none;
   border-color:var(--border-focus);
   box-shadow:0 0 0 2px rgba(235, 220, 201, 0.3);
   background:var(--bg-surface-deep);
}

.form-input:active,
.form-select:active,
.form-textarea:active {
   background:#441A12;
}

.form-textarea {
   min-height:110px;
   resize:vertical;
}

.form-select {
   cursor:pointer;
   appearance:none;
   background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F7F2EC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
   background-repeat:no-repeat;
   background-position:right 0.85rem center;
   padding-right:2.5rem;
}

.form-check {
   display:flex;
   align-items:flex-start;
   gap:0.75rem;
   margin-top:var(--space-xs);
   cursor:pointer;
   min-height:44px;
   padding:var(--space-xs) 0;
}

.form-check input[type="checkbox"] {
   appearance:none;
   width:1.25rem;
   height:1.25rem;
   border:1px solid var(--border-ledger-strong);
   border-radius:var(--radius-xs);
   background:var(--bg-surface-deep);
   flex-shrink:0;
   cursor:pointer;
   margin-top:0.15rem;
   display:grid;
   place-content:center;
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);
}

.form-check input[type="checkbox"]:hover {
   border-color:var(--accent-sage);
}

.form-check input[type="checkbox"]:checked {
   background-color:var(--accent-sage);
   border-color:var(--accent-sage);
}

.form-check input[type="checkbox"]:checked::before {
   content:"";
   width:0.65rem;
   height:0.65rem;
   background-color:var(--bg-surface-deep);
   clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.form-check input[type="checkbox"]:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.form-check-label {
   font-size:var(--fs-sm);
   color:var(--text-muted);
   line-height:var(--lh-snug);
}

.form-error-msg {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--border-error);
   margin-top:0.25rem;
   display:none;
}

.form-group.has-error .form-error-msg,
[aria-invalid="true"] + .form-error-msg {
   display:block;
}

.form-group.has-error .form-input,
.form-group.has-error .form-select,
.form-group.has-error .form-textarea,
[aria-invalid="true"] {
   border-color:var(--border-error) !important;
}

.form-status {
   padding:var(--space-md);
   border-radius:var(--radius-xs);
   font-family:var(--nada-d6b);
   font-size:var(--fs-sm);
   display:none;
}

.form-status.is-success {
   display:block;
   background:rgba(182, 200, 178, 0.15);
   border:1px solid var(--accent-sage);
   color:var(--text-main);
}

.form-status.is-error {
   display:block;
   background:rgba(242, 158, 142, 0.15);
   border:1px solid var(--border-error);
   color:var(--text-main);
}

.site-footer {
   background-color:var(--bg-surface-deep);
   border-top:2px solid var(--accent-sage);
   color:var(--text-main);
   padding-top:clamp(3rem, 6vw, 5rem);
   padding-bottom:clamp(2rem, 4vw, 3rem);
   position:relative;
}

.site-footer__grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
   margin-bottom:var(--space-2xl);
}

@media (min-width: 640px) {
   .site-footer__grid {
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }
}

@media (min-width: 1024px) {
   .site-footer__grid {
      grid-template-columns:1.8fr 1fr 1fr 1.2fr;
   }
}

.site-footer__brand {
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
}

.site-footer__logo-img {
   height:2.6rem;
   width:auto;
   display:block;
}

.site-footer__p {
   font-size:var(--fs-sm);
   color:var(--text-muted);
   max-width:40ch;
   line-height:var(--lh-base);
}

.site-footer__col-title {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--accent-sage);
   text-transform:uppercase;
   letter-spacing:0.08em;
   margin-bottom:var(--space-md);
}

.site-footer__nav-list {
   list-style:none;
   padding:0;
   margin:0;
   display:flex;
   flex-direction:column;
   gap:0.45rem;
}

.site-footer__link {
   color:var(--text-muted);
   text-decoration:none;
   font-size:var(--fs-sm);
   display:inline-block;
   padding:0.2rem 0;
   min-height:36px;
   transition:color var(--dur-fast) var(--ease-standard), padding-left var(--dur-fast) var(--ease-standard);
}

.site-footer__link:hover {
   color:var(--accent-sage);
   padding-left:0.25rem;
}

.site-footer__link:active {
   color:var(--text-main);
}

.site-footer__link:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.site-footer__contact-list {
   list-style:none;
   padding:0;
   margin:0;
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
   font-size:var(--fs-sm);
   color:var(--text-muted);
}

.site-footer__contact-item {
   display:flex;
   align-items:flex-start;
   gap:0.5rem;
}

.site-footer__contact-item a {
   color:var(--text-muted);
   text-decoration:none;
   transition:color var(--dur-fast) var(--ease-standard);
}

.site-footer__contact-item a:hover {
   color:var(--accent-sage);
}

.site-footer__contact-item a:active {
   color:var(--text-main);
}

.site-footer__contact-item a:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.legal-bar {
   border-top:1px solid var(--border-ledger);
   padding-top:var(--space-lg);
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
}

@media (min-width: 860px) {
   .legal-bar {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
   }
}

.legal-bar__links {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-sm) var(--space-md);
   list-style:none;
   padding:0;
   margin:0;
}

.legal-bar__link {
   color:var(--text-muted);
   text-decoration:none;
   padding:0.25rem 0;
   min-height:44px;
   display:inline-flex;
   align-items:center;
   transition:color var(--dur-fast) var(--ease-standard);
}

.legal-bar__link:hover {
   color:var(--accent-sage);
}

.legal-bar__link:active {
   color:var(--text-main);
}

.legal-bar__link:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.legal-cookie-btn {
   background:transparent;
   border:none;
   padding:0.25rem 0;
   min-height:44px;
   display:inline-flex;
   align-items:center;
   color:var(--text-muted);
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   cursor:pointer;
   text-decoration:underline;
   text-underline-offset:3px;
   transition:color var(--dur-fast) var(--ease-standard);
}

.legal-cookie-btn:hover {
   color:var(--accent-sage);
}

.legal-cookie-btn:active {
   color:var(--text-main);
}

.legal-cookie-btn:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.cookie-banner {
   position:fixed;
   bottom:0;
   left:0;
   right:0;
   z-index:9998;
   background:var(--bg-surface-deep);
   border-top:1px solid var(--accent-sage);
   box-shadow:0 -8px 24px rgba(35, 12, 8, 0.7);
   padding:0.75rem var(--container-pad);
   display:none;
}

.cookie-banner.is-active {
   display:block;
}

.cookie-banner__inner {
   display:flex;
   flex-direction:column;
   gap:0.65rem;
   max-width:var(--container-max);
   margin:0 auto;
}

@media (min-width: 768px) {
   .cookie-banner__inner {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
      gap:var(--space-lg);
   }
}

.cookie-banner__text {
   font-size:var(--fs-xs);
   color:var(--text-main);
   line-height:var(--lh-snug);
   margin:0;
   max-width:65ch;
}

.cookie-banner__text a {
   color:var(--accent-sage);
   text-decoration:underline;
}

.cookie-banner__text a:hover {
   color:var(--text-main);
}

.cookie-banner__actions {
   display:flex;
   align-items:center;
   gap:var(--space-xs);
   flex-shrink:0;
}

.cookie-banner__btn {
   padding:0.4rem 0.85rem;
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   min-height:44px;
   border-radius:var(--radius-xs);
   cursor:pointer;
   border:1px solid transparent;
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);
}

.cookie-banner__btn--accept {
   background:var(--accent-sage);
   color:var(--bg-surface-deep);
   border-color:var(--accent-sage);
   font-weight:500;
}

.cookie-banner__btn--accept:hover {
   background:var(--accent-sage-solid);
   border-color:var(--accent-sage-solid);
}

.cookie-banner__btn--accept:active {
   background:#8CA388;
}

.cookie-banner__btn--accept:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.cookie-banner__btn--decline {
   background:transparent;
   color:var(--text-muted);
   border-color:var(--border-ledger-strong);
}

.cookie-banner__btn--decline:hover {
   background:rgba(247, 242, 236, 0.08);
   color:var(--text-main);
}

.cookie-banner__btn--decline:active {
   background:rgba(247, 242, 236, 0.15);
}

.cookie-banner__btn--decline:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:2px;
}

.chat-launcher {
   position:fixed;
   bottom:1.25rem;
   right:1.25rem;
   z-index:9990;
   width:52px;
   height:52px;
   min-height:44px;
   min-width:44px;
   border-radius:50%;
   background:var(--bg-surface-deep);
   border:1px solid var(--accent-sage);
   color:var(--accent-sage);
   display:inline-flex;
   align-items:center;
   justify-content:center;
   box-shadow:var(--shadow-md);
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), bottom var(--dur-med) var(--ease-standard);
}

.chat-launcher:hover {
   background:var(--accent-sage);
   border-color:var(--accent-sage);
   color:var(--bg-surface-deep);
   transform:scale(1.05);
}

.chat-launcher:active {
   background:var(--accent-sage-solid);
   transform:scale(0.96);
}

.chat-launcher:focus-visible {
   outline:2px solid var(--border-focus);
   outline-offset:3px;
}

body.cookie-banner-visible .chat-launcher {
   bottom:4.8rem;
}

.chat-launcher__badge {
   position:absolute;
   top:-3px;
   right:-3px;
   background:var(--border-error);
   color:var(--bg-surface-deep);
   font-family:var(--nada-d6b);
   font-size:0.65rem;
   font-weight:700;
   width:18px;
   height:18px;
   border-radius:50%;
   display:none;
   place-content:center;
   border:1px solid var(--bg-surface-deep);
}

.chat-launcher__badge.has-unread {
   display:grid;
}

.chat-panel {
   position:fixed;
   bottom:5.5rem;
   right:1.25rem;
   width:calc(100vw - 2.5rem);
   max-width:380px;
   height:520px;
   max-height:calc(100vh - 7rem);
   background:var(--bg-surface-deep);
   border:1px solid var(--border-ledger-strong);
   border-top:3px solid var(--accent-sage);
   border-radius:var(--radius-sm);
   box-shadow:var(--shadow-ambient);
   z-index:9995;
   display:none;
   flex-direction:column;
   overflow:hidden;
}

.chat-panel.is-open {
   display:flex;
}

.chat-panel__header {
   padding:0.85rem var(--space-md);
   background:var(--bg-surface);
   border-bottom:1px solid var(--border-ledger);
   display:flex;
   align-items:center;
   justify-content:space-between;
}

.chat-panel__title {
   font-family:var(--nada-d2e);
   font-size:var(--fs-base);
   color:var(--text-main);
   display:flex;
   align-items:center;
   gap:0.4rem;
}

.chat-panel__indicator {
   width:8px;
   height:8px;
   background:var(--accent-sage);
   border-radius:50%;
   display:inline-block;
}

.chat-panel__close {
   background:transparent;
   border:none;
   color:var(--text-muted);
   cursor:pointer;
   padding:0.25rem;
   min-height:44px;
   min-width:44px;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   border-radius:var(--radius-xs);
   transition:color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);
}

.chat-panel__close:hover {
   color:var(--text-main);
   background:rgba(247, 242, 236, 0.1);
}

.chat-panel__close:active {
   background:rgba(247, 242, 236, 0.2);
}

.chat-panel__close:focus-visible {
   outline:2px solid var(--border-focus);
}

.chat-panel__body {
   flex:1 1 auto;
   padding:var(--space-md);
   overflow-y:auto;
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
   background:var(--bg-surface-deep);
}

.chat-msg {
   max-width:82%;
   padding:0.6rem 0.85rem;
   border-radius:var(--radius-xs);
   font-size:var(--fs-sm);
   line-height:var(--lh-snug);
}

.chat-msg--bot {
   align-self:flex-start;
   background:var(--bg-surface);
   color:var(--text-main);
   border:1px solid var(--border-ledger);
}

.chat-msg--user {
   align-self:flex-end;
   background:var(--accent-sage);
   color:var(--bg-surface-deep);
   font-weight:500;
}

.chat-msg__time {
   font-family:var(--nada-d6b);
   font-size:0.7em;
   opacity:0.75;
   margin-top:0.2rem;
   text-align:right;
}

.chat-panel__footer {
   padding:0.75rem var(--space-md);
   background:var(--bg-surface);
   border-top:1px solid var(--border-ledger);
}

.chat-input-row {
   display:flex;
   gap:0.5rem;
}

.chat-input {
   flex:1 1 auto;
   min-height:44px;
   padding:0.5rem 0.75rem;
   background:var(--bg-surface-deep);
   border:1px solid var(--border-ledger-strong);
   border-radius:var(--radius-xs);
   color:var(--text-main);
   font-size:var(--fs-sm);
   transition:border-color var(--dur-fast) var(--ease-standard);
}

.chat-input:hover {
   border-color:var(--accent-sage);
}

.chat-input:focus {
   outline:none;
   border-color:var(--border-focus);
}

.chat-send-btn {
   padding:0.5rem 0.85rem;
   min-height:44px;
   min-width:44px;
   background:var(--accent-sage);
   color:var(--bg-surface-deep);
   border:1px solid var(--accent-sage);
   border-radius:var(--radius-xs);
   cursor:pointer;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);
}

.chat-send-btn:hover {
   background:var(--accent-sage-solid);
   border-color:var(--accent-sage-solid);
}

.chat-send-btn:active {
   background:#8CA388;
}

.chat-send-btn:focus-visible {
   outline:2px solid var(--border-focus);
}

.tool-card {
   background:var(--bg-surface-deep);
   border:1px solid var(--border-ledger-strong);
   border-top:2px solid var(--accent-sage);
   border-radius:var(--radius-xs);
   padding:clamp(1.2rem, 3vw, 2rem);
   box-shadow:var(--shadow-md);
}

@media (max-width: 420px) {
   .tool-card {
      padding:0.85rem 0.5rem;
   }
}

.tool-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
}

@media (min-width: 768px) {
   .tool-grid {
      grid-template-columns:1.1fr 1fr;
   }
}

.tool-output-panel {
   background:var(--bg-surface);
   border:1px solid var(--border-ledger);
   border-radius:var(--radius-xs);
   padding:var(--space-lg);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   gap:var(--space-md);
}

@media (max-width: 420px) {
   .tool-output-panel {
      padding:0.85rem 0.5rem;
   }
}

.tool-note-actions {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   width:100%;
}

.tool-note-actions .btn {
   width:100%;
   text-align:center;
}

.tool-output-val {
   font-family:var(--nada-d2e);
   font-size:clamp(1.8rem, 1.4rem + 1.5vw, 2.8rem);
   color:var(--accent-sage);
   line-height:var(--lh-tight);
}

.tool-output-note {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:var(--text-muted);
   line-height:var(--lh-snug);
}

.tool-disclaimer {
   font-family:var(--nada-d6b);
   font-size:var(--fs-xs);
   color:#FFF;
   border-top:1px solid var(--border-ledger);
   padding-top:var(--space-xs);
   margin-top:var(--space-xs);
}
