.skip-link {
   position:fixed;
   top:0.75rem;
   left:0.75rem;
   z-index:var(--z-skip);
   display:inline-flex;
   align-items:center;
   min-height:48px;
   padding:0.75rem 1.25rem;
   background:var(--ink);
   color:var(--paper);
   font-family:var(--cede-61d);
   font-size:var(--fs-mono);
   letter-spacing:var(--track-mono);
   text-decoration:none;
   transform:translateY(-160%);
   transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.skip-link:focus,
.skip-link:focus-visible {
   transform:translateY(0);
   color:var(--paper);
   outline:var(--focus-ring);
   outline-offset:2px;
}

.skip-link:hover { background: var(--clay-deep); color: var(--paper); }
.skip-link:active { background: var(--clay); }

.masthead {
   position:sticky;
   top:0;
   z-index:var(--z-header);
   background:var(--paper);
   border-bottom:1px solid var(--rule);
   transition:box-shadow var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);

}

.masthead.is-condensed {
   box-shadow:var(--shadow-line);
   border-bottom-color:var(--ink);
}

.dateline {
   border-bottom:1px solid var(--rule);
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-mono);
   color:var(--graphite);
   overflow:hidden;
   max-height:3rem;
   transition:max-height var(--dur-slow) var(--ease-in-out), opacity var(--dur-base) var(--ease-out);
}

.dateline__row {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:0 1.5rem;
   min-height:2.25rem;
   padding-block:0.25rem;
}

.dateline__item {
   display:inline-flex;
   align-items:center;
   gap:0.5em;
   min-width:0;
   white-space:nowrap;
}

.dateline__item .icon { width: 0.95em; height: 0.95em; color: var(--clay); }

.dateline__item--date { color: var(--ink); font-weight: 500; text-transform: uppercase; letter-spacing: var(--track-caps); }

.dateline__spacer { flex: 1 1 auto; }

.dateline a {
   color:var(--graphite);
   text-decoration:none;
   display:inline-flex;
   align-items:center;
   gap:0.5em;
   min-height:2rem;
   padding-inline:0.25rem;
   margin-inline:-0.25rem;
   transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.dateline a:hover { color: var(--ink); background: var(--blush); }
.dateline a:active { background: var(--stone-deep); }
.dateline a:focus-visible { outline: var(--focus-ring); outline-offset: 1px; }

.masthead.is-condensed .dateline { max-height: 0; opacity: 0; border-bottom-color: transparent; }

@media (max-width: 767px) {
   .dateline__item--email,
   .dateline__item--city { display: none; }
}

@media (max-width: 379px) {
   .dateline__item--phone { display: none; }
}

.nameplate {
   display:grid;
   grid-template-columns:minmax(0, auto) minmax(0, 1fr) auto;
   align-items:end;
   gap:var(--gap);
   padding-block:clamp(0.75rem, 0.4rem + 1.4vw, 1.5rem) clamp(0.625rem, 0.4rem + 0.8vw, 1rem);
   transition:padding var(--dur-slow) var(--ease-in-out);
}

.brand {
   display:inline-flex;
   align-items:center;
   min-height:44px;
   text-decoration:none;
   outline-offset:4px;
   transition:opacity var(--dur-fast) var(--ease-out);
}

.brand img {
   height:clamp(2.1rem, 1.6rem + 1.8vw, 3.25rem);
   width:auto;
   background:none;
   transition:height var(--dur-slow) var(--ease-in-out);
}

.brand:hover { opacity: 0.82; }
.brand:active { opacity: 0.65; }

.nameplate__standfirst {
   justify-self:end;
   max-width:24ch;
   padding-left:var(--s-2);
   border-left:2px solid var(--clay);
   font-family:var(--cede-e75);
   font-weight:500;
   font-size:clamp(0.9375rem, 0.85rem + 0.35vw, 1.125rem);
   line-height:1.2;
   letter-spacing:-0.01em;
   color:var(--ink);
}

.masthead.is-condensed .nameplate { padding-block: 0.5rem; }
.masthead.is-condensed .brand img { height: 2.1rem; }

.nav-toggle {
   display:none;
   align-items:center;
   justify-content:center;
   gap:0.5rem;
   min-height:48px;
   min-width:48px;
   padding:0.625rem 0.875rem;
   border:2px solid var(--ink);
   background:var(--paper);

   color:var(--ink);
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   font-weight:500;
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

.nav-toggle .icon { width: 1.25rem; height: 1.25rem; }
.nav-toggle .nav-toggle__close { display: none; }
.nav-toggle[aria-expanded='true'] .nav-toggle__open { display: none; }
.nav-toggle[aria-expanded='true'] .nav-toggle__close { display: block; }
.nav-toggle[aria-expanded='true'] { background: var(--ink); color: var(--paper); }

.nav-toggle:hover { background: var(--blush); box-shadow: var(--shadow-press); transform: translate(-1px, -1px); }
.nav-toggle[aria-expanded='true']:hover { background: var(--graphite); color: var(--paper); }
.nav-toggle:active { transform: translate(1px, 1px); box-shadow: none; background: var(--stone-deep); }
.nav-toggle:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }

.sections { border-top:2px solid var(--ink); }

.sections__list {
   display:flex;
   list-style:none;
   padding:0;
   margin:0;
   overflow-x:auto;
   scrollbar-width:none;
   -webkit-overflow-scrolling:touch;
   scroll-snap-type:x proximity;
}

.sections__list::-webkit-scrollbar { display: none; }

.sections__item {
   flex:0 0 auto;
   min-width:0;
   border-right:1px solid var(--rule);
   scroll-snap-align:start;
}

.sections__item:first-child { border-left: 1px solid var(--rule); }

.sections__link {
   position:relative;
   display:flex;
   align-items:center;
   gap:0.5rem;
   min-height:48px;
   padding:0.625rem clamp(0.75rem, 0.5rem + 0.6vw, 1.125rem);
   font-family:var(--cede-e75);
   font-size:0.9375rem;
   font-weight:700;
   letter-spacing:-0.005em;
   color:var(--ink);
   text-decoration:none;
   white-space:nowrap;
   transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.sections__num {
   font-family:var(--cede-61d);
   font-size:0.6875rem;
   font-weight:400;
   color:var(--text-muted);
   letter-spacing:0.02em;
}

.sections__link::after {

   content:"";
   position:absolute;
   left:0;
   right:0;
   bottom:0;
   height:3px;
   background:var(--clay);
   transform:scaleX(0);
   transform-origin:left center;
   transition:transform var(--dur-base) var(--ease-swiss);
}

.sections__link:hover { background: var(--stone); color: var(--ink); }
.sections__link:hover::after { transform: scaleX(1); }
.sections__link:active { background: var(--blush); }
.sections__link:focus-visible { outline: var(--focus-ring); outline-offset: -3px; background: var(--stone); }

.sections__link[aria-current='page'] { background: var(--blush); }
.sections__link[aria-current='page']::after { transform: scaleX(1); }
.sections__link[aria-current='page'] .sections__num { color: var(--clay-deep); }

.sections__cta {
   margin-left:auto;
   border-left:1px solid var(--rule);
   border-right:0;
}

.sections__cta .sections__link { color: var(--clay-deep); }

.sections__panel-meta { display: none; }

@media (max-width: 899px) {
   .nameplate { grid-template-columns: minmax(0, 1fr) auto; }
   .nameplate__standfirst { display: none; }
   .nav-toggle { display: inline-flex; }

   html.js [data-b08f45] {
      position:fixed;
      left:0;
      right:0;
      top:var(--nav-top, var(--header-h));
      bottom:0;
      z-index:var(--z-nav);
      background:var(--paper);
      border-top:2px solid var(--ink);
      overflow-y:auto;
      overscroll-behavior:contain;
      padding:var(--s-2) var(--gutter) var(--s-5);
      visibility:hidden;
      opacity:0;
      transform:translateY(-8px);
      transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);
   }

   html.js [data-b08f45].is-open,
   html.js [data-b08f45][data-open='true'] {
      visibility:visible;
      opacity:1;
      transform:none;
      transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s;
   }

   html.js [data-b08f45] .sections__list {
      flex-direction:column;
      overflow:visible;
      max-width:40rem;
   }

   html.js [data-b08f45] .sections__item,
   html.js [data-b08f45] .sections__item:first-child {
      border:0;
      border-bottom:1px solid var(--rule);
   }

   html.js [data-b08f45] .sections__cta { margin-left: 0; }

   html.js [data-b08f45] .sections__link {
      min-height:56px;
      font-size:clamp(1.25rem, 1rem + 1.6vw, 1.75rem);
      font-weight:800;
      letter-spacing:var(--track-display);
      white-space:normal;
      gap:1rem;
      padding-inline:0.25rem;
   }

   html.js [data-b08f45] .sections__num { font-size: 0.75rem; min-width: 2ch; }

   html.js [data-b08f45] .sections__panel-meta {
      display:grid;
      gap:0.5rem;
      margin-top:var(--s-4);
      max-width:40rem;
      font-family:var(--cede-61d);
      font-size:var(--fs-mono);
      color:var(--graphite);
   }

   html.js [data-b08f45] .sections__panel-meta a {
      display:inline-flex;
      align-items:center;
      gap:0.6rem;
      min-height:44px;
      color:var(--ink);
      text-decoration:none;
   }

   html.js [data-b08f45] .sections__panel-meta a:hover { color: var(--clay-deep); }

   html:not(.js) .nav-toggle { display: none; }
}

html.nav-open { overflow: hidden; }

.btn {
   position:relative;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   gap:0.625rem;
   min-height:48px;
   max-width:100%;
   padding:14px 22px;
   border:2px solid var(--ink);
   background:var(--ink);
   color:var(--paper);
   font-family:var(--cede-e75);
   font-size:1rem;
   font-weight:700;
   line-height:1.2;
   letter-spacing:-0.005em;
   text-align:left;
   text-decoration:none;
   white-space:normal;
   overflow-wrap:anywhere;
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

.btn .icon {
   width:1.1em;
   height:1.1em;
   transition:transform var(--dur-base) var(--ease-out);
}

.btn:hover {
   background:var(--clay-deep);
   border-color:var(--ink);
   color:var(--paper);
   box-shadow:var(--shadow-press);
   transform:translate(-2px, -2px);
}

.btn:hover .icon { transform: translateX(3px); }

.btn:active {
   transform:translate(1px, 1px);
   box-shadow:0 0 0 var(--ink);
   background:var(--clay);
}

.btn:focus-visible {
   outline:var(--focus-ring);
   outline-offset:3px;
   box-shadow:var(--shadow-press);
}

.btn--ghost {
   background:transparent;
   color:var(--ink);
}

.btn--ghost:hover { background: var(--blush); color: var(--ink); }
.btn--ghost:active { background: var(--stone-deep); color: var(--ink); }

.btn--clay {
   background:var(--clay);
   border-color:var(--clay);
}

.btn--clay:hover { background: var(--ink); border-color: var(--ink); box-shadow: 3px 3px 0 var(--clay); }
.btn--clay:active { background: var(--clay-deep); }

.btn--inverse {
   background:var(--paper);
   color:var(--ink);
   border-color:var(--paper);
}

.btn--inverse:hover { background: var(--blush); color: var(--ink); box-shadow: 3px 3px 0 var(--clay); }
.btn--inverse:active { background: var(--stone); color: var(--ink); }

.btn--inverse-ghost {
   background:transparent;
   color:var(--paper);
   border-color:var(--paper);
}

.btn--inverse-ghost:hover { background: var(--paper); color: var(--ink); box-shadow: 3px 3px 0 var(--clay); }
.btn--inverse-ghost:active { background: var(--stone); color: var(--ink); }

.btn--sm {
   min-height:44px;
   padding:10px 16px;
   font-size:0.9375rem;
}

.btn--block { width: 100%; justify-content: space-between; }

.btn[disabled],
.btn[aria-disabled='true'] {
   background:var(--stone);
   border-color:var(--greige);
   color:var(--text-muted);
   cursor:not-allowed;
   box-shadow:none;
   transform:none;
}

.btn.is-busy { cursor: progress; }
.btn.is-busy .icon { animation: btn-busy 900ms linear infinite; }

@keyframes btn-busy {
   to { transform: rotate(360deg); }
}

.btn-row {
   display:flex;
   flex-wrap:wrap;
   gap:0.75rem;
   align-items:center;
}

.btn-row > * { min-width: 0; }

.link-arrow {
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
   min-height:44px;
   font-family:var(--cede-e75);
   font-weight:700;
   color:var(--ink);
   text-decoration:none;
   border-bottom:2px solid var(--clay);
   padding-block:0.25rem;
   transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), gap var(--dur-fast) var(--ease-out);
}

.link-arrow .icon { width: 1em; height: 1em; color: var(--clay); }
.link-arrow:hover { color: var(--clay-deep); gap: 0.75rem; border-bottom-color: var(--ink); }
.link-arrow:active { color: var(--clay); border-bottom-color: var(--clay); }
.link-arrow:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }

.chip {
   display:inline-flex;
   align-items:center;
   gap:0.5rem;
   min-height:44px;
   max-width:100%;
   padding:0.5rem 0.875rem;
   border:1px solid var(--ink);
   background:var(--paper);
   color:var(--ink);
   font-family:var(--cede-61d);
   font-size:var(--fs-mono);
   font-weight:500;
   letter-spacing:0.02em;
   line-height:1.3;
   text-decoration:none;
   white-space:nowrap;
   overflow:hidden;
   text-overflow:ellipsis;
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.chip:hover { background: var(--blush); box-shadow: inset 0 -2px 0 var(--clay); color: var(--ink); }
.chip:active { background: var(--stone-deep); box-shadow: none; }
.chip:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.chip[aria-current='true'],
.chip[aria-pressed='true'],
.chip[aria-selected='true'],
.chip.is-active {
   background:var(--ink);
   color:var(--paper);
   box-shadow:inset 0 -3px 0 var(--clay);
}

.chip__num { color: var(--clay); }
.chip.is-active .chip__num,
.chip[aria-current='true'] .chip__num { color: #E2A59D; }

.tag {
   display:inline-flex;
   align-items:center;
   gap:0.375rem;
   min-height:1.75rem;
   max-width:100%;
   padding:0.25rem 0.5rem;
   background:var(--stone);
   color:var(--ink);
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-mono);
   line-height:1.25;
   white-space:normal;
}

.tag--blush { background: var(--blush); }
.tag--ink { background: var(--ink); color: var(--paper); }
.tag--clay { background: transparent; color: var(--clay-deep); box-shadow: inset 0 0 0 1px var(--clay); }
.tag--ok::before,
.tag--warn::before,
.tag--bad::before {
   content:"";
   width:0.5rem;
   height:0.5rem;
   flex:none;
   background:var(--ok);
}
.tag--warn::before { background: var(--warn); }
.tag--bad::before { background: var(--error); }

.tile {
   position:relative;
   display:flex;
   flex-direction:column;
   gap:var(--s-2);
   min-width:0;
   padding:var(--s-3) 0;
   border-top:2px solid var(--ink);
   color:var(--text);
}

.tile__media {
   position:relative;
   overflow:hidden;
   background:var(--stone);
   aspect-ratio:3 / 2;
}

.tile__media img {
   width:100%;
   height:100%;
   object-fit:cover;
   transition:transform var(--dur-slow) var(--ease-out), filter var(--dur-slow) var(--ease-out);
}

.tile__kicker { order: 0; }

.tile__title {
   font-family:var(--cede-e75);
   font-size:var(--fs-h3);
   font-weight:800;
   line-height:1.12;
   letter-spacing:var(--track-display);
   color:var(--ink);
}

.tile__title a {
   color:inherit;
   text-decoration:none;
   background-image:linear-gradient(var(--clay), var(--clay));
   background-size:0 2px;
   background-position:0 100%;
   background-repeat:no-repeat;
   transition:background-size var(--dur-base) var(--ease-swiss), color var(--dur-fast) var(--ease-out);
}

.tile__title a::after {
   content:"";
   position:absolute;
   inset:0;
   z-index:1;
}

.tile__title a:hover { background-size: 100% 2px; color: var(--ink); }
.tile__title a:active { color: var(--clay-deep); }
.tile__title a:focus-visible { outline: none; background-size: 100% 2px; }
.tile:focus-within { outline: var(--focus-ring); outline-offset: 6px; }
.tile:has(.tile__title a:focus-visible) { outline: var(--focus-ring); outline-offset: 6px; }
.tile:hover .tile__media img { transform: scale(1.025); }

.tile__dek {
   font-size:var(--fs-small);
   line-height:1.5;
   max-width:42ch;
}

.tile__foot {
   margin-top:auto;
   display:flex;
   flex-wrap:wrap;
   gap:0.5rem 1rem;
   align-items:center;
   justify-content:space-between;
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   color:var(--text-muted);
   padding-top:var(--s-1);
   border-top:1px solid var(--rule);
}

.tile--lead {
   background:var(--blush);
   padding:clamp(1.25rem, 0.8rem + 2vw, 2.5rem);
   border-top-color:var(--clay);
}

.tile--stone { background: var(--stone); padding: var(--s-3); }
.tile--ink { background: var(--ink); color: var(--on-ink-muted); padding: var(--s-3); }
.tile--ink .tile__title { color: var(--paper); }

.domain-card {
   position:relative;
   background:var(--paper-bright);
   border:2px solid var(--ink);
   box-shadow:6px 6px 0 var(--stone-deep);
   font-family:var(--cede-61d);
   font-size:var(--fs-mono);
   color:var(--ink);
   min-width:0;
}

.domain-card__head {
   display:flex;
   flex-wrap:wrap;
   align-items:baseline;
   justify-content:space-between;
   gap:0.25rem 1rem;
   padding:0.875rem 1rem 0.75rem;
   border-bottom:2px solid var(--clay);
}

.domain-card__name {
   font-family:var(--cede-e75);
   font-size:clamp(1.125rem, 1rem + 0.6vw, 1.5rem);
   font-weight:800;
   letter-spacing:var(--track-display);
   overflow-wrap:anywhere;
}

.domain-card__flag {
   font-size:0.6875rem;
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--clay);
}

.domain-card__rows {
   display:grid;
   grid-template-columns:minmax(0, 9.5em) minmax(0, 1fr);
   margin:0;
}

.domain-card__rows dt,
.domain-card__rows dd {
   padding:0.5rem 1rem;
   border-bottom:1px solid var(--rule-soft);
   margin:0;
   min-width:0;
   overflow-wrap:anywhere;
}

.domain-card__rows dt {
   color:var(--text-muted);
   text-transform:uppercase;
   font-size:0.6875rem;
   letter-spacing:var(--track-mono);
   padding-right:0.5rem;
}

.domain-card__rows dd { font-weight: 500; }

.domain-card__meter {
   display:grid;
   grid-template-columns:repeat(10, 1fr);
   gap:2px;
   margin-top:0.375rem;
}

.domain-card__meter span { height: 6px; background: var(--stone); }
.domain-card__meter span.is-on { background: var(--ink); }
.domain-card__meter span.is-over { background: var(--clay); }

.domain-card__foot {
   padding:0.625rem 1rem;
   font-size:0.6875rem;
   color:var(--text-muted);
   letter-spacing:var(--track-mono);
}

@media (max-width: 379px) {
   .domain-card__rows { grid-template-columns: minmax(0, 1fr); }
   .domain-card__rows dt { border-bottom: 0; padding-bottom: 0; }
}

.record-list {
   list-style:none;
   padding:0;
   margin:0;
   counter-reset:rec;
}

.record-list__item {
   counter-increment:rec;
   display:grid;
   grid-template-columns:2.25rem minmax(0, 1fr);
   gap:0.25rem 0.5rem;
   padding:0.875rem 0;
   border-bottom:1px solid var(--rule);
}

.record-list__item::before {
   content:counter(rec, decimal-leading-zero);
   grid-row:span 2;
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   color:var(--clay);
   padding-top:0.2rem;
}

.record-list__record {
   font-family:var(--cede-61d);
   font-size:var(--fs-mono);
   font-weight:500;
   color:var(--ink);
   overflow-wrap:anywhere;
}

.record-list__symptom {
   font-size:var(--fs-small);
   line-height:1.4;
   color:var(--graphite);
}

.ledger {
   width:100%;
   border-top:2px solid var(--ink);
}

.ledger__row {
   display:grid;
   grid-template-columns:minmax(0, 3fr) minmax(0, 4fr) minmax(0, 2fr) minmax(0, 2fr);
   gap:var(--gap);
   padding-block:var(--s-3);
   border-bottom:1px solid var(--rule);
   align-items:start;
}

.ledger__row--head {
   padding-block:0.75rem;
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--text-muted);
}

.ledger__row > * { min-width: 0; }

.ledger__name {
   font-family:var(--cede-e75);
   font-size:var(--fs-h3);
   font-weight:800;
   letter-spacing:var(--track-display);
   line-height:1.12;
   color:var(--ink);
}

.ledger__price {
   font-family:var(--cede-61d);
   font-size:var(--fs-mono);
   color:var(--ink);
   font-variant-numeric:tabular-nums;
}

.ledger__label { display: none; }

@media (max-width: 1023px) {
   .ledger__row { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
   .ledger__row--head { display: none; }
   .ledger__label {
      display:block;
      font-family:var(--cede-61d);
      font-size:0.6875rem;
      letter-spacing:var(--track-caps);
      text-transform:uppercase;
      color:var(--text-muted);
   }
}

.spec {
   width:100%;
   font-size:var(--fs-small);
   border-top:2px solid var(--ink);
}

.spec caption {
   text-align:left;
   caption-side:top;
   padding-bottom:0.75rem;
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--text-muted);
}

.spec th,
.spec td {
   text-align:left;
   vertical-align:top;
   padding:0.75rem 1rem 0.75rem 0;
   border-bottom:1px solid var(--rule);
}

.spec thead th {
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   font-weight:500;
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--ink);
}

.spec tbody th {
   font-family:var(--cede-61d);
   font-weight:500;
   font-size:var(--fs-mono);
   color:var(--ink);
   width:34%;
}

.spec td code { white-space: normal; }

.table-wrap {
   max-width:100%;
   overflow-x:auto;
   -webkit-overflow-scrolling:touch;
   border-right:1px solid transparent;
}

.table-wrap:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.record-block {
   position:relative;
   background:var(--ink);
   color:var(--paper);
   font-family:var(--cede-61d);
   font-size:var(--fs-mono);
   line-height:1.6;
   padding:1rem 1.125rem;
   border-left:3px solid var(--clay);
   overflow-x:auto;
   max-width:100%;
}

.record-block__label {
   display:block;
   margin-bottom:0.375rem;
   color:#D88F86;
   font-size:0.6875rem;
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
}

.form {
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:var(--s-3) var(--gap);
}

.form > * { min-width: 0; }
.form__full { grid-column: 1 / -1; }

@media (max-width: 639px) {
   .form { grid-template-columns: minmax(0, 1fr); }
}

.field {
   display:flex;
   flex-direction:column;
   gap:0.375rem;
   min-width:0;
}

.field__label {
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   font-weight:500;
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:var(--ink);
}

.field__opt {
   color:var(--text-muted);
   text-transform:none;
   letter-spacing:0.02em;
   font-weight:400;
}

.field__hint {
   font-size:0.875rem;
   color:var(--text-muted);
   line-height:1.4;
}

.input,
.select,
.textarea,
.field input:not([type='checkbox']):not([type='radio']),
.field select,
.field textarea {
   width:100%;
   min-height:48px;
   padding:0.75rem 0.875rem;
   border:0;
   border-bottom:2px solid var(--ink);
   background:var(--paper-bright);
   box-shadow:inset 0 0 0 1px var(--rule);
   color:var(--ink);
   font-family:var(--cede-446);
   font-size:1rem;
   line-height:1.4;
   border-radius:0;
   -webkit-appearance:none;
   appearance:none;
   transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.field textarea,
.textarea { min-height: 8.5rem; resize: vertical; }

.field select,
.select {
   padding-right:2.5rem;
   background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
   background-position:calc(100% - 1.15rem) 52%, calc(100% - 0.8rem) 52%;
   background-size:0.35rem 0.35rem;
   background-repeat:no-repeat;
}

.field input:not([type='checkbox']):not([type='radio']):hover,
.field select:hover,
.field textarea:hover,
.input:hover,
.select:hover,
.textarea:hover {
   background-color:#FFF;
   box-shadow:inset 0 0 0 1px var(--graphite);
}

.field input:not([type='checkbox']):not([type='radio']):focus-visible,
.field select:focus-visible,
.field textarea:focus-visible,
.input:focus-visible,
.select:focus-visible,
.textarea:focus-visible {
   outline:var(--focus-ring);
   outline-offset:2px;
   background-color:#FFF;
   border-bottom-color:var(--clay);
}

.field input:not([type='checkbox']):not([type='radio']):active,
.field select:active,
.field textarea:active { background-color: var(--clay-wash); }

.field ::placeholder { color: #8C837C; opacity: 1; }

.field.is-invalid input,
.field.is-invalid select,
.field.is-invalid textarea,
.field [aria-invalid='true'] {
   border-bottom-color:var(--error);
   box-shadow:inset 0 0 0 1px var(--error);
   background-color:#FBF0EE;
}

.field__error {
   display:flex;
   gap:0.5rem;
   align-items:flex-start;
   font-size:0.875rem;
   font-weight:500;
   line-height:1.4;
   color:var(--error);
}

.field__error:empty { display: none; }

.field__error::before {
   content:"";
   flex:none;
   width:0.75rem;
   height:2px;
   margin-top:0.6em;
   background:var(--error);
}

.check {
   position:relative;
   display:grid;
   grid-template-columns:1.5rem minmax(0, 1fr);
   gap:0.75rem;
   align-items:start;
   min-height:44px;
   padding-block:0.5rem;
   font-size:var(--fs-small);
   line-height:1.45;
   cursor:pointer;
}

.check input {
   -webkit-appearance:none;
   appearance:none;
   width:1.5rem;
   height:1.5rem;
   margin:0;
   border:2px solid var(--ink);
   background:var(--paper-bright);
   display:grid;
   place-content:center;
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.check input[type='radio'] { border-radius: 50%; }

.check input::after {
   content:"";
   width:0.7rem;
   height:0.7rem;
   background:var(--paper);
   transform:scale(0);
   transition:transform var(--dur-fast) var(--ease-snap);
}

.check input[type='checkbox']::after { clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); }
.check input[type='radio']::after { border-radius: 50%; }

.check input:checked { background: var(--ink); }
.check input:checked::after { transform: scale(1); }
.check input:hover { box-shadow: 0 0 0 4px var(--blush); }
.check input:active { box-shadow: 0 0 0 4px var(--stone-deep); }
.check input:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.check.is-invalid input,
.check input[aria-invalid='true'] { border-color: var(--error); box-shadow: 0 0 0 3px #F3D5D0; }

.hp-field {
   position:absolute !important;
   left:-10000px !important;
   width:1px !important;
   height:1px !important;
   overflow:hidden !important;
   opacity:0 !important;
   pointer-events:none !important;
}

.form-status {
   grid-column:1 / -1;
   padding:0.875rem 1rem;
   border-left:3px solid var(--ink);
   background:var(--stone);
   font-size:var(--fs-small);
   color:var(--ink);
}

.form-status:empty { display: none; }
.form-status.is-error { border-left-color: var(--error); background: #F6E4E0; }
.form-status.is-ok { border-left-color: var(--ok); background: #E6EBE1; }

.form__note {
   font-size:0.875rem;
   color:var(--text-muted);
   max-width:60ch;
}

.breadcrumb {
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-mono);
   color:var(--text-muted);
}

.breadcrumb ol {
   display:flex;
   flex-wrap:wrap;
   list-style:none;
   padding:0;
   gap:0 0.5rem;
}

.breadcrumb li { display: inline-flex; align-items: center; gap: 0.5rem; min-width: 0; }
.breadcrumb li + li::before { content: '/'; color: var(--greige); }

.breadcrumb a {
   display:inline-flex;
   align-items:center;
   min-height:44px;
   color:var(--graphite);
   text-decoration:none;
   transition:color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.breadcrumb a:hover { color: var(--ink); box-shadow: inset 0 -2px 0 var(--clay); }
.breadcrumb a:active { color: var(--clay); }
.breadcrumb a:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.breadcrumb [aria-current='page'] { color: var(--ink); }

.notice {
   display:grid;
   grid-template-columns:auto minmax(0, 1fr);
   gap:0.75rem;
   padding:1rem 1.125rem;
   border-top:2px solid var(--clay);
   background:var(--clay-wash);
   font-size:var(--fs-small);
   color:var(--ink);
}

.notice .icon { color: var(--clay); margin-top: 0.15rem; }

.price-note {
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-mono);
   color:var(--text-muted);
}

.stat {
   border-top:2px solid var(--ink);
   padding-top:0.75rem;
   min-width:0;
}

.stat__value {
   display:block;
   font-family:var(--cede-e75);
   font-size:clamp(2.25rem, 1.5rem + 3vw, 4rem);
   font-weight:800;
   line-height:0.95;
   letter-spacing:var(--track-tight);
   color:var(--ink);
   font-variant-numeric:tabular-nums;
}

.stat__value em { font-style: normal; color: var(--clay); }

.stat__label {
   display:block;
   margin-top:0.5rem;
   font-size:var(--fs-small);
   line-height:1.4;
}

.site-footer {
   background:var(--ink);
   color:var(--on-ink-muted);
   padding-top:clamp(48px, 6vw, 88px);
   font-size:var(--fs-small);
}

.site-footer a {
   color:var(--paper);
   text-decoration:none;
   transition:color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.site-footer a:hover { color: var(--blush); box-shadow: inset 0 -1px 0 #D88F86; }
.site-footer a:active { color: #D88F86; }
.site-footer a:focus-visible { outline: 2px solid #D88F86; outline-offset: 3px; }

.footer__grid {
   display:grid;
   grid-template-columns:minmax(0, 5fr) repeat(3, minmax(0, 2fr)) minmax(0, 3fr);
   gap:0;
   border-top:2px solid var(--paper);
}

.footer__col {
   min-width:0;
   padding:var(--s-3) var(--gap) var(--s-4);
   border-left:1px solid #4A4440;
}

.footer__col:first-child { border-left: 0; padding-left: 0; }

.footer__brand img {
   height:clamp(2.4rem, 2rem + 1.2vw, 3rem);
   width:auto;
   background:none;
}

.footer__brand {
   display:inline-flex;
   min-height:44px;
   align-items:center;
}

.footer__brand:hover { box-shadow: none !important; opacity: 0.85; }

.footer__lockup {
   margin-top:var(--s-3);
   font-family:var(--cede-e75);
   font-size:clamp(1.375rem, 1.1rem + 1vw, 2rem);
   font-weight:800;
   line-height:1.02;
   letter-spacing:var(--track-display);
   color:var(--paper);
   max-width:16ch;
}

.footer__lockup span { display: block; }
.footer__lockup span + span { margin-left: 1.5rem; padding-top: 0.2em; border-top: 2px solid var(--clay); }

.footer__head {
   font-family:var(--cede-61d);
   font-size:0.6875rem;
   font-weight:500;
   letter-spacing:var(--track-caps);
   text-transform:uppercase;
   color:#D88F86;
   margin-bottom:0.75rem;
}

.footer__list {
   list-style:none;
   padding:0;
   margin:0;
}

.footer__list a {
   display:inline-flex;
   align-items:center;
   min-height:44px;
   padding-block:0.25rem;
   line-height:1.3;
}

.footer__contact {
   font-style:normal;
   line-height:1.55;
}

.footer__contact a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; }
.footer__contact .icon { color: #D88F86; }

.footer__legal {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:0.25rem 1.5rem;
   padding-block:1rem 1.25rem;
   border-top:1px solid #4A4440;
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-mono);
}

.footer__legal ul {
   display:flex;
   flex-wrap:wrap;
   gap:0 1.25rem;
   list-style:none;
   padding:0;
   margin:0;
}

.footer__legal a,
.footer__legal button {
   display:inline-flex;
   align-items:center;
   min-height:44px;
   color:var(--on-ink-muted);
}

.footer__legal button {
   font-family:var(--cede-61d);
   font-size:var(--fs-micro);
   letter-spacing:var(--track-mono);
   text-decoration:underline;
   text-decoration-color:#D88F86;
   text-underline-offset:0.25em;
   padding:0 0.25rem;
   margin-inline:-0.25rem;
   transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.footer__legal button:hover { color: var(--paper); background: #2E2926; }
.footer__legal button:active { background: #3A3430; color: var(--blush); }
.footer__legal button:focus-visible { outline: 2px solid #D88F86; outline-offset: 2px; }

.footer__copy { margin-left: auto; color: #A39990; }

@media (max-width: 1199px) {
   .footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
   .footer__col:first-child { grid-column: 1 / -1; padding-right: 0; border-bottom: 1px solid #4A4440; }
   .footer__col:nth-child(2) { border-left: 0; padding-left: 0; }
   .footer__col:last-child { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid #4A4440; }
}

@media (max-width: 599px) {
   .footer__grid { grid-template-columns: minmax(0, 1fr); }
   .footer__col { border-left: 0; padding-inline: 0; border-top: 1px solid #4A4440; }
   .footer__col:first-child { border-top: 0; }
   .footer__copy { margin-left: 0; }
   .site-footer { padding-bottom: 5rem; }
}

.consent {
   position:fixed;
   left:0;
   right:0;
   bottom:0;
   z-index:var(--z-consent);
   background:var(--paper-bright);
   border-top:2px solid var(--ink);
   box-shadow:0 -1px 0 var(--clay);
   color:var(--ink);
}

.consent__inner {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:0.5rem 1.5rem;
   padding-block:0.625rem;
}

.consent__text {
   flex:1 1 22rem;
   min-width:0;
   font-size:0.875rem;
   line-height:1.4;
   max-width:62ch;
}

.consent__text a { white-space: nowrap; }

.consent__actions {
   display:flex;
   flex-wrap:wrap;
   gap:0.5rem;
   flex:0 1 auto;
}

.consent__actions .btn {
   min-height:44px;
   padding:0.5rem 1rem;
   font-size:0.9375rem;
}

@media (max-width: 599px) {
   .consent__inner { gap: 0.5rem; padding-block: 0.5rem; }
   .consent__text { flex-basis: 100%; font-size: 0.8125rem; }
   .consent__actions { flex: 1 1 100%; }
   .consent__actions .btn { flex: 1 1 0; justify-content: center; text-align: center; }
}

.chat-launcher {
   position:fixed;
   right:clamp(12px, 2vw, 24px);
   bottom:calc(clamp(12px, 2vw, 24px) + var(--consent-h, 0px));
   z-index:var(--z-chat);
   display:inline-flex;
   align-items:center;
   gap:0.625rem;
   min-height:52px;
   min-width:52px;
   padding:0.75rem 1.125rem 0.75rem 0.875rem;
   background:var(--ink);
   color:var(--paper);
   border:2px solid var(--ink);
   font-family:var(--cede-e75);
   font-size:0.9375rem;
   font-weight:700;
   line-height:1.2;
   box-shadow:3px 3px 0 var(--clay);
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), bottom var(--dur-slow) var(--ease-in-out);
}

.chat-launcher .icon { width: 1.375rem; height: 1.375rem; }

.chat-launcher:hover {
   background:var(--clay-deep);
   box-shadow:5px 5px 0 var(--ink);
   transform:translate(-2px, -2px);
}

.chat-launcher:active {
   background:var(--clay);
   box-shadow:0 0 0 var(--ink);
   transform:translate(2px, 2px);
}

.chat-launcher:focus-visible {
   outline:var(--focus-ring);
   outline-offset:4px;
}

.chat-launcher[aria-expanded='true'] { background: var(--paper); color: var(--ink); }
.chat-launcher[aria-expanded='true']:hover { background: var(--blush); color: var(--ink); }

.chat-launcher__badge {
   position:absolute;
   top:-0.6rem;
   right:-0.6rem;
   min-width:1.5rem;
   min-height:1.5rem;
   padding:0.125rem 0.375rem;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   background:var(--clay);
   color:var(--paper);
   border:2px solid var(--paper);
   font-family:var(--cede-61d);
   font-size:0.6875rem;
   font-weight:500;
   line-height:1;
}

.chat-launcher__badge:empty,
.chat-launcher__badge[data-count='0'] { display: none; }

html.consent-visible .chat-launcher { bottom: calc(clamp(12px, 2vw, 24px) + var(--consent-h, 5.5rem)); }

@media (max-width: 599px) {
   .chat-launcher { padding: 0.75rem; }
   .chat-launcher__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
   html.consent-visible .chat-launcher { bottom: calc(12px + var(--consent-h, 9.5rem)); }
}

.chat-panel {
   position:fixed;
   right:clamp(12px, 2vw, 24px);
   bottom:calc(clamp(12px, 2vw, 24px) + 64px + var(--consent-h, 0px));
   z-index:var(--z-chat);
   width:min(24.5rem, calc(100vw - 24px));
   max-height:min(36rem, calc(100dvh - 6.5rem - var(--consent-h, 0px)));
   display:flex;
   flex-direction:column;
   background:var(--paper-bright);
   border:2px solid var(--ink);
   box-shadow:6px 6px 0 var(--stone-deep);
   color:var(--ink);
}

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

.chat-panel__head {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:0.75rem;
   padding:0.625rem 0.625rem 0.625rem 1rem;
   background:var(--ink);
   color:var(--paper);
   border-bottom:2px solid var(--clay);
}

.chat-panel__title {
   font-family:var(--cede-e75);
   font-size:1.0625rem;
   font-weight:800;
   letter-spacing:var(--track-display);
   color:var(--paper);
   line-height:1.2;
}

.chat-panel__sub {
   display:block;
   font-family:var(--cede-61d);
   font-size:0.6875rem;
   letter-spacing:var(--track-mono);
   color:var(--on-ink-muted);
   font-weight:400;
}

.chat-panel__close {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   min-width:44px;
   min-height:44px;
   color:var(--paper);
   border:1px solid transparent;
   transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.chat-panel__close .icon { width: 1.25rem; height: 1.25rem; }
.chat-panel__close:hover { background: #2E2926; border-color: var(--on-ink-muted); }
.chat-panel__close:active { background: var(--clay); border-color: var(--clay); }
.chat-panel__close:focus-visible { outline: 2px solid #D88F86; outline-offset: -2px; }

.chat-panel__log {
   flex:1 1 auto;
   min-height:9rem;
   overflow-y:auto;
   overscroll-behavior:contain;
   padding:1rem;
   display:flex;
   flex-direction:column;
   gap:0.625rem;
   background:var(--paper);
}

.chat-msg {
   max-width:86%;
   padding:0.625rem 0.75rem;
   font-size:0.9375rem;
   line-height:1.45;
   overflow-wrap:anywhere;
   border:1px solid var(--rule);
   background:var(--paper-bright);
}

.chat-msg--staff { align-self: flex-start; border-left: 3px solid var(--clay); }
.chat-msg--visitor { align-self: flex-end; background: var(--ink); color: var(--paper); border-color: var(--ink); }
.chat-msg--system { align-self: stretch; max-width: none; background: transparent; border: 0; border-top: 1px solid var(--rule); font-family: var(--cede-61d); font-size: 0.75rem; color: var(--text-muted); padding-inline: 0; }
.chat-msg.is-pending { opacity: 0.6; }
.chat-msg.is-failed { border-color: var(--error); box-shadow: inset 3px 0 0 var(--error); }

.chat-msg__meta {
   display:block;
   margin-top:0.25rem;
   font-family:var(--cede-61d);
   font-size:0.6875rem;
   color:var(--text-muted);
}

.chat-msg--visitor .chat-msg__meta { color: var(--on-ink-muted); }

.chat-msg__retry {
   display:inline-flex;
   align-items:center;
   min-height:44px;
   margin-top:0.25rem;
   padding:0 0.5rem;
   font-family:var(--cede-61d);
   font-size:0.75rem;
   color:var(--paper);
   text-decoration:underline;
   text-decoration-color:#D88F86;
   transition:background-color var(--dur-fast) var(--ease-out);
}

.chat-msg__retry:hover { background: #2E2926; }
.chat-msg__retry:active { background: var(--clay); }
.chat-msg__retry:focus-visible { outline: 2px solid #D88F86; outline-offset: 1px; }

.chat-panel__intro,
.chat-panel__form {
   padding:0.875rem 1rem 1rem;
   border-top:1px solid var(--rule);
   display:grid;
   gap:0.625rem;
   background:var(--paper-bright);
}

.chat-panel__intro .field input,
.chat-panel__form textarea {
   min-height:44px;
   font-size:0.9375rem;
}

.chat-panel__form {
   grid-template-columns:minmax(0, 1fr) auto;
   align-items:end;
}

.chat-panel__form textarea {
   width:100%;
   min-height:48px;
   max-height:8rem;
   resize:none;
   padding:0.625rem 0.75rem;
   border:0;
   border-bottom:2px solid var(--ink);
   background:var(--paper);
   box-shadow:inset 0 0 0 1px var(--rule);
   font-family:var(--cede-446);
   border-radius:0;
   transition:box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.chat-panel__form textarea:hover { box-shadow: inset 0 0 0 1px var(--graphite); background: #FFF; }
.chat-panel__form textarea:focus-visible { outline: var(--focus-ring); outline-offset: 2px; background: #FFF; }

.chat-panel__send {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   min-width:48px;
   min-height:48px;
   background:var(--ink);
   color:var(--paper);
   border:2px solid var(--ink);
   transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

.chat-panel__send:hover { background: var(--clay-deep); box-shadow: 3px 3px 0 var(--ink); transform: translate(-1px, -1px); }
.chat-panel__send:active { background: var(--clay); box-shadow: none; transform: translate(1px, 1px); }
.chat-panel__send:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.chat-panel__send[disabled] { background: var(--stone); border-color: var(--greige); color: var(--text-muted); cursor: not-allowed; box-shadow: none; transform: none; }

.chat-panel__note {
   font-family:var(--cede-61d);
   font-size:0.6875rem;
   line-height:1.45;
   color:var(--text-muted);
}

.chat-panel__error {
   font-size:0.8125rem;
   color:var(--error);
}

.chat-panel__error:empty { display: none; }

@media (max-width: 479px) {
   .chat-panel {
      left:0;
      right:0;
      bottom:0;
      width:100%;
      max-height:calc(100dvh - 3rem);
      border-left:0;
      border-right:0;
      border-bottom:0;
      box-shadow:0 -1px 0 var(--clay);
   }
}
