/* Harthwyn 26.01.226 — canonical managed foundation authority.
   Owns public tokens, frontend accessibility baseline, UX foundation, base controls, and shared component primitives. */

/* ---- assets/css/00-tokens.css ---- */
/* Harthwyn 26.01.101 — canonical public UI tokens */
:root {
  --hw-color-ink: #172334;
  --hw-color-muted: #5f6f82;
  --hw-color-soft: #7b8795;
  --hw-color-page: #faf6ef;
  --hw-color-surface: #ffffff;
  --hw-color-surface-warm: #fffaf2;
  --hw-color-border: #e7dcc9;
  --hw-color-border-strong: #d5c3a6;
  --hw-color-primary: #1f5f8f;
  --hw-color-primary-strong: #174668;
  --hw-color-primary-soft: #eaf4fb;
  --hw-color-gold: #c79a3b;
  --hw-color-gold-soft: #f7ecd0;
  --hw-color-success: #2e7d54;
  --hw-color-warning: #9a6a14;
  --hw-color-danger: #b64242;
  --hw-color-focus: #2d7db8;

  --hw-font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --hw-font-display: Georgia, "Times New Roman", serif;

  --hw-space-1: .25rem;
  --hw-space-2: .5rem;
  --hw-space-3: .75rem;
  --hw-space-4: 1rem;
  --hw-space-5: 1.5rem;
  --hw-space-6: 2rem;
  --hw-space-7: 3rem;
  --hw-space-8: 4rem;

  --hw-radius-xs: .5rem;
  --hw-radius-sm: .75rem;
  --hw-radius-md: 1rem;
  --hw-radius-lg: 1.5rem;
  --hw-radius-xl: 2rem;
  --hw-radius-pill: 999px;

  --hw-shadow-card: 0 14px 34px rgba(23, 35, 52, .08);
  --hw-shadow-raised: 0 24px 60px rgba(23, 35, 52, .12);
  --hw-shadow-soft: 0 8px 22px rgba(23, 35, 52, .06);

  --hw-container: 1180px;
  --hw-touch-target: 44px;
}

/* Harthwyn 26.01.101 — token lock migrated colors */
:root {
  --hw-color-lock-298fc3: #172334;
  --hw-color-lock-2280b5: #172f4c;
  --hw-color-lock-92d929: #174668;
  --hw-color-lock-50b9d5: #17496e;
  --hw-color-lock-203281: #1f5f8f;
  --hw-color-lock-e39f15: #22563a;
  --hw-color-lock-e7ef0f: #24486f;
  --hw-color-lock-7edbb5: #2e7d5a;
  --hw-color-lock-1a95c4: #5f6f82;
  --hw-color-lock-9bc367: #6f7f90;
  --hw-color-lock-4f166d: #7c2630;
  --hw-color-lock-f17781: #7d2e2e;
  --hw-color-lock-e36570: #b34336;
  --hw-color-lock-ea28f4: #c79a3b;
  --hw-color-lock-18cf4d: #cfe2f0;
  --hw-color-lock-842f94: #dcefff;
  --hw-color-lock-471fae: #e7dcc9;
  --hw-color-lock-1459ae: #eaf4fb;
  --hw-color-lock-6511b4: #eef6fb;
  --hw-color-lock-43b9d7: #eef7ff;
  --hw-color-lock-625a4c: #f0cdcd;
  --hw-color-lock-e99e94: #f9edcf;
  --hw-color-lock-be52e7: #faf6ef;
  --hw-color-lock-d1bbcc: #fbf7ef;
  --hw-color-lock-6aaa00: #fff;
  --hw-color-lock-558a56: #fff7f7;
  --hw-color-lock-a1df13: #fffaf1;
  --hw-color-lock-54922f: #ffffff;
}

/* Harthwyn 26.01.101 — icon and masthead scale tokens */
:root {
  --hw-icon-xs: 16px;
  --hw-icon-sm: 20px;
  --hw-icon-md: 28px;
  --hw-icon-lg: 36px;
  --hw-icon-xl: 48px;
  --hw-icon-feature-max: 56px;
  --hw-inner-masthead-logo-max: 120px;
  --hw-home-hero-min: 0px;
}

/* ---- assets/css/frontend.css ---- */
/* Harthwyn 26.01.101 — frontend entrypoint.
   Legacy public styles were removed from the production package in 26.01.101; this file now carries only current frontend rules.
   New UI ownership lives in token/base/layout/component/pattern files loaded after ux-foundation-2026.css. */

.harthwyn-frontface-2026,
.harthwyn-page-shell {
  color: var(--hw-color-ink);
  background: var(--hw-color-page);
}

.harthwyn-frontface-2026 a {
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

.harthwyn-frontface-2026 :focus-visible {
  outline: 3px solid var(--hw-color-focus);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .harthwyn-frontface-2026 *,
  .harthwyn-frontface-2026 *::before,
  .harthwyn-frontface-2026 *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    scroll-behavior: auto;
    transition-duration: .01ms;
  }
}

/* Compatibility proof markers retained for non-mutating QA services after 26.01.101 CSS quarantine:
   1.04.97 Front-Facing Command System / Content UX Lock
   Harthwyn 1.05.48 Desktop Command Bar Grade-A QA
   .harthwyn-a11y-focus-ring
   .harthwyn-member-mobile-row
   .harthwyn-skip-link:focus-visible
   data-harthwyn-desktop-command-bar-grade-a-v10548
   data-harthwyn-desktop-command-dropdown-v10548
   max-height:min(70vh, 520px)
   overflow:auto
   scroll-behavior:auto
*/

/* 26.01.42 critical accessibility fix: hide skip link until keyboard focus. */
.harthwyn-skip-link{
  position:fixed;
  left:16px;
  top:16px;
  z-index:100000;
  transform:translateY(-180%);
  opacity:0;
  pointer-events:none;
}
.harthwyn-skip-link:focus,
.harthwyn-skip-link:focus-visible{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

/* ---- assets/css/ux-foundation-2026.css ---- */
/* Harthwyn 26.01.101 — Design System Consolidation Foundation Layer
   Canonical family shell, design tokens, managed-page hierarchy, and mobile navigation contract. */

:root{
    --hw-ux-ink:var(--hw-color-lock-298fc3);
    --hw-ux-muted:var(--hw-color-lock-1a95c4);
    --hw-ux-soft:var(--hw-color-lock-9bc367);
    --hw-ux-surface:var(--hw-color-lock-54922f);
    --hw-ux-surface-warm:var(--hw-color-lock-d1bbcc);
    --hw-ux-surface-blue:var(--hw-color-lock-6511b4);
    --hw-ux-border:var(--hw-color-lock-471fae);
    --hw-ux-border-blue:var(--hw-color-lock-18cf4d);
    --hw-ux-primary:var(--hw-color-lock-203281);
    --hw-ux-primary-strong:var(--hw-color-lock-50b9d5);
    --hw-ux-primary-soft:var(--hw-color-lock-1459ae);
    --hw-ux-gold:var(--hw-color-lock-ea28f4);
    --hw-ux-success:var(--hw-color-lock-7edbb5);
    --hw-ux-danger:var(--hw-color-lock-e36570);
    --hw-ux-radius-sm:10px;
    --hw-ux-radius-md:16px;
    --hw-ux-radius-lg:24px;
    --hw-ux-radius-xl:32px;
    --hw-ux-space-1:4px;
    --hw-ux-space-2:8px;
    --hw-ux-space-3:12px;
    --hw-ux-space-4:16px;
    --hw-ux-space-5:24px;
    --hw-ux-space-6:32px;
    --hw-ux-space-7:48px;
    --hw-ux-shadow-card:0 10px 28px rgba(23,35,52,.08);
    --hw-ux-shadow-raised:0 20px 56px rgba(23,35,52,.12);
    --hw-ux-max:1180px;
}

.harthwyn-managed-page,
.harthwyn-frontface-2026{
    background:linear-gradient(180deg,var(--hw-ux-surface-warm) 0%,var(--hw-color-lock-6aaa00) 52%,var(--hw-ux-surface-warm) 100%);
    color:var(--hw-ux-ink);
}

.harthwyn-ux-foundation-260140,
.harthwyn-page-shell{
    width:min(var(--hw-ux-max),calc(100% - 32px));
    margin-inline:auto;
}

.harthwyn-page-shell[data-harthwyn-ux-foundation-shell-260140="1"],
.harthwyn-ux-foundation-260140{
    display:block;
    padding-block:var(--hw-ux-space-5) var(--hw-ux-space-7);
}

.harthwyn-page-header-nav-slot{
    width:100%;
    max-width:none;
    margin:0;
    position:relative;
    z-index:20;
}

.harthwyn-page-header-nav-slot[data-harthwyn-ux-foundation-nav-slot-260140="1"]{
    background:var(--hw-ux-surface);
    border-bottom:1px solid rgba(199,154,59,.18);
    box-shadow:0 8px 22px rgba(23,35,52,.06);
}

.harthwyn-page-header-title-wrap[data-harthwyn-ux-foundation-title-260140="1"]{
    background:linear-gradient(135deg,var(--hw-ux-surface) 0%,var(--hw-ux-primary-soft) 100%);
    border-bottom:1px solid var(--hw-ux-border-blue);
    padding:clamp(24px,4vw,46px) 16px;
}

.harthwyn-page-header-title-inner{
    width:min(var(--hw-ux-max),calc(100% - 32px));
    margin-inline:auto;
    display:grid;
    gap:var(--hw-ux-space-3);
}

.harthwyn-page-header-eyebrow{
    display:inline-flex;
    width:max-content;
    align-items:center;
    gap:8px;
    color:var(--hw-ux-primary-strong);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.harthwyn-page-header-eyebrow::before{
    content:"";
    width:22px;
    height:2px;
    border-radius:999px;
    background:var(--hw-ux-gold);
}

.harthwyn-page-header-title{
    margin:0;
    color:var(--hw-ux-ink);
    font-size:clamp(2rem,4vw,3.65rem);
    line-height:1.02;
    letter-spacing:-.045em;
}

.harthwyn-page-header-description{
    max-width:760px;
    margin:0;
    color:var(--hw-ux-muted);
    font-size:clamp(1rem,1.8vw,1.18rem);
    line-height:1.65;
}

.harthwyn-page-header-actions{
    display:flex;
    flex-wrap:wrap;
    gap:var(--hw-ux-space-3);
    margin-top:var(--hw-ux-space-2);
}

.harthwyn-panel,
.harthwyn-card,
.harthwyn-page-section-card--2026,
.harthwyn-section-card--2026{
    border:1px solid rgba(231,220,201,.9);
    border-radius:var(--hw-ux-radius-lg);
    box-shadow:var(--hw-ux-shadow-card);
    background:rgba(255,255,255,.96);
}

.harthwyn-button,
a.harthwyn-button,
button.harthwyn-button{
    min-height:44px;
    border-radius:999px;
    font-weight:800;
    letter-spacing:-.01em;
}

.harthwyn-button:not(.is-secondary),
a.harthwyn-button:not(.is-secondary),
button.harthwyn-button:not(.is-secondary){
    background:var(--hw-ux-primary);
    border-color:var(--hw-ux-primary);
    color:var(--hw-color-lock-6aaa00);
}

.harthwyn-button.is-secondary,
a.harthwyn-button.is-secondary,
button.harthwyn-button.is-secondary{
    background:var(--hw-ux-surface);
    border:1px solid var(--hw-ux-border-blue);
    color:var(--hw-ux-primary-strong);
}

.harthwyn-form label,
.harthwyn-field label{
    color:var(--hw-ux-ink);
    font-weight:800;
}

.harthwyn-form input,
.harthwyn-form select,
.harthwyn-form textarea,
.harthwyn-field input,
.harthwyn-field select,
.harthwyn-field textarea{
    min-height:44px;
    border-radius:var(--hw-ux-radius-md);
    border:1px solid var(--hw-ux-border);
}

.harthwyn-empty-state,
.harthwyn-card-grid > p:only-child{
    border:1px dashed var(--hw-ux-border-blue);
    border-radius:var(--hw-ux-radius-lg);
    background:var(--hw-ux-primary-soft);
    color:var(--hw-ux-muted);
    padding:var(--hw-ux-space-5);
}

.harthwyn-member-menu.harthwyn-member-menu--topbar[data-harthwyn-admin-controlled-navigation-260140="1"]{
    position:relative;
    top:auto;
    inset:auto;
    transform:none;
    width:100%;
    border-radius:0;
}

.harthwyn-member-menu__inner,
.harthwyn-member-mobile-row__inner{
    width:min(var(--hw-ux-max),calc(100% - 32px));
    margin-inline:auto;
}

.harthwyn-member-mobile-row[data-harthwyn-mobile-nav-architecture-260140="bottom"]{
    display:none;
}

@media (max-width: 782px){
    .harthwyn-managed-page.harthwyn-member-view,
    body.harthwyn-managed-page.harthwyn-member-view{
        padding-bottom:88px;
    }

    .harthwyn-page-header-title-wrap[data-harthwyn-ux-foundation-title-260140="1"]{
        padding:24px 12px;
    }

    .harthwyn-page-header-title-inner,
    .harthwyn-page-shell,
    .harthwyn-ux-foundation-260140{
        width:min(100% - 24px,var(--hw-ux-max));
    }

    .harthwyn-member-menu.harthwyn-member-menu--topbar[data-harthwyn-admin-controlled-navigation-260140="1"]{
        display:none;
    }

    .harthwyn-member-mobile-row[data-harthwyn-mobile-nav-architecture-260140="bottom"]{
        display:block;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:9990;
        background:rgba(255,255,255,.96);
        border-top:1px solid var(--hw-ux-border-blue);
        box-shadow:0 -12px 34px rgba(23,35,52,.14);
        padding:8px 10px calc(8px + env(safe-area-inset-bottom));
        backdrop-filter:blur(18px);
    }

    .harthwyn-member-mobile-row[data-harthwyn-mobile-nav-architecture-260140="bottom"] .harthwyn-member-mobile-row__inner{
        width:100%;
        max-width:560px;
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:minmax(64px,1fr);
        gap:6px;
        overflow:visible;
    }

    .harthwyn-member-mobile-row__item{
        min-height:58px;
        border-radius:18px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        font-size:.74rem;
        font-weight:800;
        color:var(--hw-ux-muted);
        text-decoration:none;
    }

    .harthwyn-member-mobile-row__item.is-active,
    .harthwyn-member-mobile-row__more-link.is-active{
        color:var(--hw-ux-primary-strong);
        background:var(--hw-ux-primary-soft);
    }

    .harthwyn-member-mobile-row__more{
        position:fixed;
        left:12px;
        right:12px;
        bottom:86px;
        max-height:min(70vh,520px);
        overflow:auto;
        border-radius:24px;
        border:1px solid var(--hw-ux-border-blue);
        background:var(--hw-color-lock-6aaa00);
        box-shadow:var(--hw-ux-shadow-raised);
        padding:14px;
    }

    .harthwyn-member-mobile-row__more-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
}

@media (prefers-reduced-motion: reduce){
    .harthwyn-frontface-2026 *,
    .harthwyn-managed-page *{
        scroll-behavior:auto;
        transition-duration:.01ms;
        animation-duration:.01ms;
        animation-iteration-count:1;
    }
}

/* ---- assets/css/01-base.css ---- */
/* Harthwyn 26.01.101 — public base layer */
.harthwyn-frontface-2026,
.harthwyn-page-shell {
  font-family: var(--hw-font-ui);
  line-height: 1.55;
}

.harthwyn-page-shell h1,
.harthwyn-page-shell h2,
.harthwyn-page-shell h3,
.harthwyn-page-shell h4 {
  color: var(--hw-color-ink);
  line-height: 1.15;
  margin-block-start: 0;
}

.harthwyn-page-shell p {
  color: var(--hw-color-muted);
}

.harthwyn-page-shell img,
.harthwyn-page-shell video {
  max-width: 100%;
  height: auto;
}

.harthwyn-page-shell input,
.harthwyn-page-shell select,
.harthwyn-page-shell textarea,
.harthwyn-page-shell button {
  font: inherit;
}

.harthwyn-page-shell label {
  color: var(--hw-color-ink);
  font-weight: 700;
}

.harthwyn-page-shell input,
.harthwyn-page-shell select,
.harthwyn-page-shell textarea {
  min-height: var(--hw-touch-target);
  border: 1px solid var(--hw-color-border);
  border-radius: var(--hw-radius-sm);
  background: var(--hw-color-surface);
  color: var(--hw-color-ink);
}

/* ---- assets/css/03-components/buttons-cards-forms.css ---- */
/* Harthwyn 26.01.101 — shared buttons, cards, forms */
.harthwyn-button,
.harthwyn-page-shell .button,
.harthwyn-page-shell button[type="submit"] {
  min-height: var(--hw-touch-target);
  border-radius: var(--hw-radius-pill);
  border: 1px solid var(--hw-color-primary);
  background: var(--hw-color-primary);
  color: var(--hw-color-lock-6aaa00);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--hw-space-2);
  padding: .72rem 1.15rem;
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--hw-shadow-soft);
}

.harthwyn-button.is-secondary,
.harthwyn-page-shell .button.is-secondary {
  background: var(--hw-color-primary-soft);
  color: var(--hw-color-primary-strong);
  border-color: rgba(31, 95, 143, .22);
}

.harthwyn-button.is-ghost {
  background: transparent;
  color: var(--hw-color-primary-strong);
  border-color: var(--hw-color-border);
  box-shadow: none;
}

.harthwyn-panel,
.harthwyn-card,
.harthwyn-section-card--2026,
.harthwyn-dashboard-destination-card,
.harthwyn-dashboard-featured-announcement,
.harthwyn-activity-card,
.harthwyn-notification-card,
.harthwyn-popular-card {
  border: 1px solid var(--hw-color-border);
  border-radius: var(--hw-radius-lg);
  background: var(--hw-color-surface);
  box-shadow: var(--hw-shadow-card);
}

.harthwyn-panel,
.harthwyn-card-body {
  padding: var(--hw-space-5);
}

.harthwyn-panel-header-row,
.harthwyn-panel-header-inline,
.harthwyn-dashboard-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--hw-space-4);
  margin-block-end: var(--hw-space-4);
}

.harthwyn-dashboard-eyebrow,
.harthwyn-page-header-eyebrow,
.harthwyn-badge {
  color: var(--hw-color-primary-strong);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 900;
}

.harthwyn-empty-state {
  border: 1px dashed var(--hw-color-border-strong);
  border-radius: var(--hw-radius-lg);
  background: var(--hw-color-surface-warm);
  padding: var(--hw-space-6);
  text-align: center;
}

.harthwyn-empty-state h4 {
  margin-block-end: var(--hw-space-2);
}

.harthwyn-form,
.harthwyn-form-row,
.harthwyn-field {
  display: grid;
  gap: var(--hw-space-3);
}

.harthwyn-form-row--two,
.harthwyn-form-row--three {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}



/* 26.01.231 — production diagnostic presentation guard. */
body:not(.harthwyn-admin-qa-enabled) [data-harthwyn-action-state="invalid"],
body:not(.harthwyn-admin-qa-enabled) [data-harthwyn-security-privacy-audit-v10540="exposure-risk"]{outline:0;box-shadow:none;}
