/* Gallery layouts and demos; design tokens and core components are in styles.css. */
.kit-social-demo { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--border); }
.kit-social-demo .button { flex:1; font:14px Arial,sans-serif; }
:root {
  --theme-side-gap:24px;
  --theme-shell-width:1440px;
  --theme-frame-radius:24px;
  --header-logo-max-width:210px;
  --footer-logo-max-width:220px
}

body {
  overflow-wrap:break-word
}

button,a,summary,input,select,textarea {
  touch-action:manipulation
}

button svg,a svg {
  pointer-events:none
}

svg {
  overflow:visible
}

p:last-child {
  margin-bottom:0
}

h5,h6 {
  font-size:1rem
}

main {
  min-width:0
}

section[id] {
  scroll-margin-top:110px
}

dialog {
  color:var(--ink);
  font-family:inherit
}

.kit-content {
  padding-block:42px 64px
}

.kit-section {
  margin:0 0 40px
}

.kit-section:last-child {
  margin-bottom:0
}

.kit-section-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px
}

.kit-section-title h2 {
  font-size:1.4rem;
  margin:0
}

.kit-section-title code {
  font-size:.7rem;
  color:var(--muted)
}

.kit-page-heading {
  margin-bottom:34px
}

.kit-breadcrumb {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.76rem;
  color:var(--muted);
  margin-bottom:25px
}

.kit-breadcrumb svg {
  width:13px;
  height:13px
}

.kit-breadcrumb a {
  color:var(--clay-dark)
}

html[dir=rtl] .kit-breadcrumb svg {
  transform:scaleX(-1)
}

.kit-heading-row {
  display:flex;
  gap:30px;
  justify-content:space-between;
  align-items:center
}

.kit-heading-row>div {
  max-width:740px
}

.kit-heading-row h1 {
  font-size:2.1rem;
  margin-bottom:10px
}

.kit-heading-row p {
  font-size:.86rem
}

.kit-heading-row>.button {
  flex:none
}

.kit-grid {
  display:grid;
  gap:20px;
  min-width:0
}

.kit-grid>* {
  min-width:0
}

.kit-grid--2 {
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.kit-grid--3 {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.kit-grid--chart {
  grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr)
}

.kit-space {
  margin-top:20px
}

.panel {
  margin:0;
  min-width:0
}

.panel>h3 {
  margin-bottom:20px
}

.kit-help {
  font-size:.76rem;
  color:var(--muted);
  margin-top:20px
}

.kit-error {
  color:var(--danger)
}

.kit-brand-mark {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:var(--sage-dark);
  flex:none
}

.kit-brand-mark svg {
  width:24px;
  height:24px
}

.brand--admin .kit-brand-mark,.brand--footer .kit-brand-mark {
  background:rgba(255,255,255,.12);
  color:var(--gold)
}

.brand {
  gap:10px
}

.brand__name {
  white-space:nowrap;
  font-size:1.05rem
}

.header-inner {
  gap:22px;
  min-height:82px
}

.primary-nav {
  gap:19px;
  justify-content:center
}

.primary-nav a {
  font-size:.78rem;
  white-space:nowrap
}

.primary-nav a svg {
  display:none
}

.header-actions {
  gap:8px
}

.header-actions .button {
  font-size:.77rem;
  padding-inline:13px;
  min-height:42px
}

.header-utility {
  min-height:38px
}

.header-utility-inner {
  min-height:38px;
  font-size:.7rem
}

.header-utility .language-menu>summary {
  min-height:30px;
  padding:3px 9px;
  font-size:.7rem;
  border:0
}

.language-menu>summary {
  min-height:40px;
  gap:7px;
  padding:7px 11px;
  line-height:1.3
}

.language-menu>summary>svg {
  width:17px;
  height:17px
}

.language-menu>summary>svg:last-child {
  width:12px;
  height:12px
}

.language-menu__panel {
  width:290px;
  inset-inline-end:0;
  inset-inline-start:auto;
  padding:12px;
  border-radius:16px
}

.language-menu__list {
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
  margin:0;
  list-style:none;
  padding:0;
  max-height:340px;
  overflow:auto
}

.language-menu__list a {
  padding:8px;
  gap:10px;
  font-size:.85rem
}

.language-code {
  display:grid;
  place-items:center;
  min-width:39px;
  height:28px;
  padding:4px;
  font-family:Arial,sans-serif;
  font-size:.65rem;
  color:var(--sage-dark);
  background:var(--sage-soft);
  border-radius:6px
}

.kit-mobile-tools {
  display:none;
  gap:6px;
  align-items:center
}

.kit-bottom-nav {
  display:none
}

.kit-more {
  margin-top:18px;
  border-top:1px solid var(--border);
  padding-top:15px
}

.kit-more>summary {
  cursor:pointer;
  padding:10px
}

.kit-more .button-row {
  padding:10px
}

.mobile-drawer .brand {
  max-width:220px
}

.mobile-drawer__head {
  place-items:start;
  align-content:center
}

.site-footer .footer-grid {
  gap:32px
}

.site-footer .footer-col nav a svg {
  display:none
}

.site-footer .footer-col nav a {
  font-size:.82rem
}

.site-footer .footer-about p {
  font-size:.79rem;
  margin-top:18px
}

.site-footer .footer-bottom {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:space-between;
  align-items:center
}

.site-footer .footer-bottom .button {
  font-size:.68rem;
  min-height:32px
}

.site-footer .icon-button {
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:rgba(255,255,255,.2)
}

.kit-hero {
  padding:60px 0;
  background:linear-gradient(110deg,var(--paper),var(--cream))
}

.kit-hero .hero-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:62px
}

.kit-hero h1 {
  font-size:clamp(2rem,3.6vw,3.1rem);
  line-height:1.55;
  margin-bottom:15px
}

.kit-hero .hero-lead {
  font-size:.94rem;
  line-height:2
}

.kit-hero .hero-actions .button {
  font-size:.85rem
}

.kit-hero .hero-trust {
  font-size:.75rem
}

.kit-hero-preview {
  border-radius:24px;
  background:var(--paper);
  border:1px solid var(--border-strong);
  box-shadow:var(--shadow-lg);
  transform:rotate(-2deg);
  overflow:hidden
}

.kit-mini-top {
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid var(--border);
  font:11px ui-monospace,monospace;
  color:var(--muted);
  direction:ltr
}

.kit-window-dots {
  display:flex;
  gap:5px
}

.kit-window-dots i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--border-strong)
}

.kit-window-dots i:first-child {
  background:var(--clay)
}

.kit-mini-body {
  display:grid;
  grid-template-columns:64px 1fr;
  min-height:355px
}

.kit-mini-nav {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:33px;
  padding:25px 15px;
  background:var(--sage-dark);
  color:#d7e4d9
}

.kit-mini-nav svg:first-child {
  color:var(--gold)
}

.kit-mini-main {
  min-width:0;
  padding:24px
}

.kit-mini-main h3 {
  font-size:1.05rem;
  margin:14px 0
}

.kit-mini-stats {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px
}

.kit-mini-stats>div {
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 15px;
  display:grid;
  background:#fff
}

.kit-mini-stats strong {
  font-size:1.4rem;
  line-height:1.4
}

.kit-mini-stats small {
  font-size:.64rem
}

.kit-bars {
  height:120px;
  display:flex;
  gap:9px;
  align-items:flex-end;
  margin:20px 0;
  background:repeating-linear-gradient(to top,transparent 0 29px,var(--border) 29px 30px);
  border-bottom:1px solid var(--border)
}

.kit-bars i {
  flex:1;
  height:var(--bar);
  background:var(--sage);
  border-radius:5px 5px 0 0
}

.kit-bars i:nth-child(3n) {
  background:var(--gold)
}

.kit-mini-card {
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:white
}

.kit-mini-card>div {
  flex:1
}

.kit-mini-card strong,.kit-mini-card small {
  display:block;
  font-size:.75rem
}

.kit-mini-card>svg {
  color:var(--success)
}

.kit-slider-controls {
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:25px
}

.kit-slider-controls .icon-button {
  width:32px;
  height:32px;
  border-radius:50%
}

.kit-slider-controls [data-slide-prev] svg {
  transform:rotate(180deg)
}

html[dir=rtl] .kit-slider-controls [data-slide-prev] svg {
  transform:none
}

html[dir=rtl] .kit-slider-controls [data-slide-next] svg {
  transform:rotate(180deg)
}

.kit-slider-dots {
  display:flex;
  gap:7px
}

.kit-slider-dots button {
  padding:0;
  width:7px;
  height:7px;
  border:0;
  border-radius:8px;
  background:var(--border-strong);
  transition:width .2s
}

.kit-slider-dots button.is-active {
  width:24px;
  background:var(--clay)
}

.kit-route-card {
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:white;
  transition:transform .2s,border-color .2s
}

.kit-route-card:hover {
  transform:translateY(-3px);
  border-color:var(--sage)
}

.kit-route-card>div {
  flex:1;
  min-width:0
}

.kit-route-card h3 {
  font-size:.96rem;
  margin:0 0 4px
}

.kit-route-card code {
  font-size:.7rem;
  color:var(--muted)
}

.kit-route-card>.feature-icon {
  width:44px;
  height:44px;
  border-radius:13px
}

.kit-route-card>svg {
  width:18px;
  color:var(--clay)
}

html[dir=rtl] .kit-route-card>svg {
  transform:scaleX(-1)
}

.feature-card {
  min-height:0
}

.feature-card p {
  font-size:.85rem;
  line-height:1.9
}

.feature-card .button {
  display:inline-flex;
  margin:0;
  line-height:1.2;
  font-size:.85rem
}

.feature-card__icon {
  margin-bottom:18px
}

.kit-variant-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px 16px
}

.kit-variant-grid>div {
  display:grid;
  justify-items:start;
  gap:8px
}

.kit-variant-grid code {
  font-size:.68rem;
  color:var(--muted);
  direction:ltr
}

.kit-variant-grid .button--light {
  box-shadow:0 0 0 1px var(--border)
}

.kit-type-samples>div {
  display:flex;
  align-items:baseline;
  gap:16px;
  margin-bottom:15px
}

.kit-type-samples code {
  color:var(--muted);
  font-size:.72rem;
  flex:none
}

.kit-type-samples h1 {
  font-size:2rem
}

.kit-type-samples h2 {
  font-size:1.6rem
}

.kit-type-samples h3 {
  font-size:1.3rem
}

.kit-type-samples h4 {
  font-size:1.1rem
}

.kit-type-samples h1,.kit-type-samples h2,.kit-type-samples h3,.kit-type-samples h4,.kit-type-samples h5,.kit-type-samples h6 {
  margin:0
}

.kit-swatches {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.kit-swatches>div>span {
  display:block;
  height:65px;
  border:1px solid #ddd;
  border-radius:12px
}

.kit-swatches code {
  display:block;
  font-size:.68rem;
  margin-top:7px;
  direction:ltr;
  text-align:center
}

.alert {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  font-size:.83rem
}

.alert--info {
  background:var(--info-soft);
  color:var(--info);
  border-color:#b7d3d9
}

.kit-progress-row {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:.85rem
}

progress {
  width:100%;
  height:9px;
  border:0;
  appearance:none;
  border-radius:50px;
  overflow:hidden;
  background:var(--sage-soft)
}

progress::-webkit-progress-bar {
  background:var(--sage-soft)
}

progress::-webkit-progress-value {
  background:var(--sage)
}

progress::-moz-progress-bar {
  background:var(--sage)
}

.kit-skeleton {
  width:100%;
  height:16px;
  margin-top:20px;
  background:linear-gradient(100deg,var(--surface-muted) 30%,#fff 50%,var(--surface-muted) 70%);
  background-size:250% 100%;
  animation:shimmer 2s infinite;
  border-radius:6px
}

.kit-skeleton.short {
  width:68%;
  height:11px;
  margin-top:12px
}

@keyframes shimmer {
  to {
    background-position:-150% 0
  }

}

.kit-tabs {
  min-width:0
}

.kit-tab-list {
  display:flex;
  gap:6px;
  border-bottom:1px solid var(--border);
  overflow:auto;
  margin-bottom:22px;
  padding-bottom:8px
}

.kit-tab-list>button {
  white-space:nowrap;
  padding:10px 15px;
  border:0;
  background:transparent;
  border-radius:10px;
  color:var(--muted)
}

.kit-tab-list>button[aria-selected=true] {
  background:var(--sage-soft);
  color:var(--sage-dark)
}

.kit-tab-panel {
  outline:none
}

.kit-steps {
  display:flex;
  gap:20px;
  list-style:none;
  padding:0;
  margin:0;
  justify-content:space-between
}

.kit-steps li {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--muted);
  font-size:.84rem
}

.kit-steps b {
  display:grid;
  place-items:center;
  border-radius:50%;
  width:35px;
  height:35px;
  background:var(--surface-muted)
}

.kit-steps .is-active {
  color:var(--sage-dark)
}

.kit-steps .is-active b {
  background:var(--sage-dark);
  color:white
}

.kit-tooltip {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:help;
  font-size:.85rem
}

.kit-tooltip [role=tooltip] {
  position:absolute;
  bottom:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%);
  padding:8px 12px;
  border-radius:8px;
  background:var(--ink);
  color:white;
  white-space:nowrap;
  display:none;
  font-size:.75rem
}

.kit-tooltip:hover [role=tooltip],.kit-tooltip:focus [role=tooltip] {
  display:block
}

.kit-dropdown {
  position:relative
}

.kit-dropdown>summary {
  list-style:none;
  cursor:pointer
}

.kit-dropdown>summary::-webkit-details-marker {
  display:none
}

.kit-dropdown>div {
  position:absolute;
  inset-inline-start:0;
  top:calc(100% + 8px);
  z-index:15;
  width:190px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow-lg);
  background:white;
  display:grid;
  gap:4px
}

.kit-dropdown .button {
  justify-content:flex-start
}

.kit-icon-grid {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:24px 12px
}

.kit-icon-grid>div {
  display:grid;
  justify-items:center;
  gap:9px;
  color:var(--sage-dark)
}

.kit-icon-grid svg {
  width:25px;
  height:25px
}

.kit-icon-grid code {
  font-size:.65rem;
  color:var(--muted)
}

.kit-toasts {
  position:fixed;
  inset-inline-end:24px;
  bottom:28px;
  z-index:4000;
  display:grid;
  gap:10px;
  max-width:min(390px,calc(100vw - 40px));
  pointer-events:none
}

.kit-toast {
  padding:14px 18px;
  background:var(--sage-dark);
  color:white;
  border-radius:13px;
  box-shadow:var(--shadow-lg);
  font-size:.83rem;
  display:flex;
  align-items:center;
  gap:10px;
  animation:toast-in .2s ease
}

@keyframes toast-in {
  from {
    opacity:0;
    transform:translateY(8px)
  }

}

.kit-dialog {
  width:min(540px,calc(100vw - 28px));
  max-height:calc(100dvh - 30px);
  padding:26px;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow-lg);
  background:var(--paper);
  overflow:auto
}

.kit-dialog::backdrop {
  background:rgba(22,32,26,.55);
  backdrop-filter:blur(4px)
}

.kit-dialog-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px
}

.kit-dialog-head h2 {
  font-size:1.35rem;
  margin:0
}

.kit-dialog-head .icon-button {
  flex:none
}

.kit-dialog p {
  font-size:.89rem
}

.kit-dialog:focus {
  outline:none
}

.kit-search-results {
  display:grid;
  gap:4px;
  max-height:420px;
  overflow:auto;
  margin-top:15px
}

.kit-search-results a {
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:9px
}

.kit-search-results a:hover {
  background:var(--sage-soft)
}

.kit-password {
  position:relative;
  display:block
}

.kit-password input {
  padding-inline-end:55px
}

.kit-password .icon-button {
  position:absolute;
  inset-inline-end:5px;
  top:5px;
  height:38px;
  width:38px;
  border:0;
  background:transparent
}

.kit-form-result {
  padding:14px;
  margin-top:18px;
  border-radius:12px;
  background:var(--success-soft);
  color:var(--success);
  font-size:.85rem
}

.kit-switch {
  display:flex;
  gap:10px;
  align-items:center;
  position:relative;
  cursor:pointer
}

.kit-switch>input {
  position:absolute;
  opacity:0;
  width:44px;
  height:26px;
  inset-inline-start:0
}

.kit-switch-track {
  width:44px;
  height:26px;
  border-radius:20px;
  background:var(--border-strong);
  position:relative
}

.kit-switch-track:after {
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  border-radius:50%;
  background:white;
  top:3px;
  inset-inline-start:3px;
  transition:transform .2s
}

.kit-switch>input:checked+.kit-switch-track {
  background:var(--sage)
}

.kit-switch>input:checked+.kit-switch-track:after {
  transform:translateX(18px)
}

html[dir=rtl] .kit-switch>input:checked+.kit-switch-track:after {
  transform:translateX(-18px)
}

.kit-switch>input:focus-visible+.kit-switch-track {
  outline:3px solid var(--gold);
  outline-offset:3px
}

input[type=range] {
  padding:0;
  min-height:28px;
  accent-color:var(--sage)
}

input[type=color] {
  padding:5px;
  max-width:100%;
  height:48px
}

select[multiple] {
  min-height:136px
}

.kit-quantity {
  display:flex;
  gap:6px;
  align-items:center
}

.kit-quantity input {
  width:80px;
  text-align:center
}

.kit-editor {
  border:1px solid var(--border-strong);
  border-radius:13px;
  overflow:hidden
}

.kit-editor-toolbar {
  padding:8px;
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  background:var(--paper-deep);
  border-bottom:1px solid var(--border)
}

.kit-editor-toolbar .icon-button {
  width:34px;
  height:34px;
  border-radius:7px
}

.kit-editor-surface {
  padding:18px;
  min-height:220px;
  outline:0
}

.kit-editor-surface:focus {
  box-shadow:inset 0 0 0 2px var(--sage)
}

.kit-editor-surface p {
  font-size:.87rem
}

.kit-dropzone {
  min-height:220px;
  padding:25px 18px;
  border:2px dashed var(--border-strong);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:15px;
  font-size:.85rem;
  background:var(--paper-deep);
  cursor:pointer
}

.kit-dropzone.is-over {
  background:var(--sage-soft);
  border-color:var(--sage)
}

.kit-dropzone>svg {
  width:36px;
  height:36px;
  color:var(--sage)
}

.kit-dropzone input {
  max-width:100%;
  font-size:.7rem;
  padding:6px;
  min-height:0
}

.kit-file-list {
  display:grid;
  gap:8px;
  width:100%;
  overflow-wrap:anywhere;
  font-size:.72rem
}

.kit-file-list img {
  height:100px;
  width:auto;
  object-fit:contain;
  margin:auto
}

.is-valid {
  border-color:var(--success)!important;
  background:var(--sage-pale)!important
}

.is-invalid {
  border-color:var(--danger)!important;
  background:var(--danger-soft)!important
}

.kit-media-placeholder {
  min-height:190px;
  border:1px dashed var(--border-strong);
  border-radius:15px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  color:var(--sage);
  background:var(--sage-pale);
  margin-bottom:23px
}

.kit-media-placeholder svg {
  width:42px;
  height:42px
}

.kit-media-placeholder span {
  font-size:.8rem
}

audio {
  width:100%;
  max-width:100%
}

.kit-avatar {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--sage-soft);
  color:var(--sage-dark);
  flex:none
}

.kit-avatar--large {
  width:76px;
  height:76px
}

.kit-avatar--large svg {
  width:35px;
  height:35px
}

.kit-profile-card {
  display:flex;
  align-items:center;
  flex-direction:column;
  text-align:center;
  gap:10px
}

.kit-profile-card h3,.kit-profile-card p {
  margin:0
}

.kit-profile-card p {
  font-size:.85rem
}

.kit-price-card {
  position:relative;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:30px;
  background:white
}

.kit-price-card.is-featured {
  border:2px solid var(--sage);
  background:var(--sage-pale)
}

.kit-price-card h3 {
  margin:18px 0
}

.kit-price {
  display:flex;
  align-items:baseline;
  gap:10px
}

.kit-price strong {
  font-size:2.7rem;
  line-height:1.4
}

.kit-price>span {
  font-size:.8rem;
  color:var(--muted)
}

.kit-feature-list {
  padding:0;
  list-style:none;
  margin:24px 0
}

.kit-feature-list li {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 0;
  font-size:.85rem
}

.kit-feature-list svg {
  color:var(--sage);
  width:18px
}

.kit-segmented {
  display:flex;
  justify-content:center;
  gap:5px;
  margin:0 auto 24px;
  border:1px solid var(--border);
  border-radius:13px;
  padding:5px;
  width:max-content;
  background:white
}

.kit-segmented button {
  padding:9px 24px;
  border:0;
  border-radius:9px;
  background:transparent
}

.kit-segmented button[aria-pressed=true] {
  background:var(--sage-dark);
  color:white
}

.kit-split {
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:20px
}

.kit-side-links {
  display:grid;
  gap:8px
}

.kit-side-links a {
  padding:10px;
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.87rem
}

.kit-side-links a:hover {
  background:var(--sage-soft);
  border-radius:9px
}

.kit-error-number {
  font-size:3rem;
  color:var(--clay)
}

.kit-spinner {
  width:34px;
  height:34px;
  border:3px solid var(--sage-soft);
  border-top-color:var(--sage);
  border-radius:50%;
  animation:spin 1s linear infinite
}

@keyframes spin {
  to {
    transform:rotate(360deg)
  }

}

.kit-summary-line {
  display:flex;
  gap:15px;
  justify-content:space-between;
  padding:10px 0;
  font-size:.85rem
}

.empty-state h3 {
  font-size:1rem;
  margin-top:16px
}

.empty-state .button {
  font-size:.8rem
}

.kit-table-toolbar,.kit-table-bulk,.kit-table-pagination {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap
}

.kit-table-toolbar {
  margin-bottom:18px
}

.kit-table-toolbar .button {
  font-size:.8rem;
  padding-inline:13px
}

.kit-search {
  display:block;
  position:relative;
  flex:1;
  min-width:180px
}

.kit-search>svg {
  position:absolute;
  top:15px;
  inset-inline-start:14px;
  width:18px;
  height:18px;
  color:var(--muted)
}

.kit-search input {
  padding-inline-start:40px
}

.kit-filter {
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.8rem
}

.kit-filter select {
  width:140px
}

.kit-table-bulk {
  padding:12px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  font-size:.76rem
}

.kit-table-bulk>span {
  margin-inline-end:auto
}

.kit-data .table-wrap {
  overflow:auto;
  margin:0;
  max-width:100%
}

.kit-data table {
  width:100%;
  border-collapse:collapse;
  min-width:820px
}

.kit-data th,.kit-data td {
  padding:15px 12px;
  text-align:start;
  border-bottom:1px solid var(--border);
  font-size:.78rem;
  vertical-align:middle;
  white-space:nowrap
}

.kit-data th {
  font-weight:500;
  background:var(--paper-deep);
  color:var(--muted)
}

.kit-data th button {
  border:0;
  padding:0;
  background:transparent;
  font:inherit
}

.kit-data tbody tr:hover {
  background:var(--sage-pale)
}

.kit-data tbody tr.is-selected {
  background:var(--sage-soft)
}

.kit-data td strong {
  display:block;
  font-size:.79rem
}

.kit-data td small {
  display:block;
  font-size:.66rem
}

.kit-data td .table-actions {
  justify-content:flex-start;
  display:flex;
  gap:6px
}

.kit-data td .icon-button {
  height:33px;
  width:33px;
  border-radius:9px
}

.kit-data input[type=checkbox] {
  width:18px;
  height:18px
}

.kit-table-empty {
  text-align:center;
  padding:40px;
  color:var(--muted)
}

.kit-table-pagination {
  padding-top:18px;
  justify-content:space-between;
  font-size:.75rem
}

.kit-table-pagination label {
  display:flex;
  align-items:center;
  gap:10px
}

.kit-table-pagination select {
  width:78px;
  min-height:37px;
  padding:5px 10px
}

.kit-table-pagination .button {
  min-height:37px;
  font-size:.72rem;
  padding:7px 12px
}

.kit-sort-list {
  padding:0;
  margin:0;
  list-style:none;
  display:grid;
  gap:10px
}

.kit-sort-list li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 14px
}

.kit-reorder-label {
  display:flex;
  align-items:center;
  gap:12px
}

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

.kit-timeline li {
  position:relative;
  display:flex;
  gap:18px;
  padding:0 0 25px
}

.kit-timeline li:last-child {
  padding-bottom:0
}

.kit-timeline li:before {
  content:"";
  position:absolute;
  inset-inline-start:6px;
  top:14px;
  width:1px;
  height:100%;
  background:var(--border)
}

.kit-timeline li:last-child:before {
  display:none
}

.kit-timeline-dot {
  height:13px;
  width:13px;
  flex:none;
  border-radius:50%;
  background:var(--sage);
  border:3px solid var(--sage-soft);
  margin-top:7px;
  position:relative;
  z-index:1
}

.kit-timeline small {
  display:block;
  margin-top:6px;
  font-size:.7rem
}

.kit-timeline p {
  font-size:.85rem
}

.kit-timeline h3 {
  font-size:1rem
}

.kit-auth-icon {
  width:55px;
  height:55px;
  border-radius:16px;
  background:var(--sage-soft);
  color:var(--sage-dark);
  display:grid;
  place-items:center;
  margin:0 auto 24px
}

.page-public .admin-stat-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0
}

.page-public .admin-stat-grid article {
  padding:12px
}

.page-public .admin-stat-grid strong {
  font-size:1.15rem
}

.page-public .admin-stat-grid p {
  font-size:.7rem
}

.admin-sidebar__head>.icon-button {
  display:none
}

.admin-sidebar__head {
  justify-content:flex-start
}

.admin-sidebar .brand__name {
  font-size:.93rem
}

.admin-nav__label {
  padding:12px 10px;
  font-size:.65rem;
  color:#a7bbae
}

.admin-nav {
  gap:8px
}

.admin-nav__group>summary {
  font-size:.78rem
}

.admin-nav__items {
  padding-inline:6px 0;
  margin-inline-start:20px
}

.admin-nav__items>a {
  font-size:.73rem
}

.admin-sidebar__footer {
  margin-top:auto;
  padding-top:16px
}

.kit-sidebar-note {
  display:block;
  padding:12px 10px;
  color:#9eb0a2;
  font-size:.67rem
}

.admin-topbar h1 {
  font-size:1.12rem;
  line-height:1.5
}

.admin-topbar__actions {
  gap:8px
}

.admin-topbar .language-menu>summary {
  font-size:.76rem
}

.admin-topbar .language-menu__panel {
  z-index:2100
}

.admin-page-header h2 {
  font-size:1.65rem;
  line-height:1.6
}

.admin-page-header p {
  font-size:.8rem
}

.admin-main .panel {
  padding:22px;
  box-shadow:none
}

.admin-main .panel-heading {
  margin-bottom:18px
}

.admin-main .panel h3 {
  font-size:1.04rem
}

.admin-stat-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0
}

.admin-stat-grid>article {
  min-width:0
}

.admin-stat-grid>article strong {
  font-size:1.4rem
}

.admin-stat-grid>article p {
  font-size:.74rem
}

.kit-chart {
  height:248px;
  display:flex;
  gap:12px;
  direction:ltr;
  padding-top:18px
}

.kit-chart-y {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--muted);
  font-size:.6rem;
  padding-bottom:28px
}

.kit-chart-columns {
  display:flex;
  flex:1;
  gap:13px;
  min-width:0;
  align-items:flex-end;
  background:repeating-linear-gradient(to top,transparent 0 calc(25% - 1px),var(--border) calc(25% - 1px) 25%);
  position:relative;
  margin-bottom:28px
}

.kit-chart-columns>div {
  flex:1;
  height:100%;
  display:flex;
  align-items:flex-end;
  position:relative
}

.kit-chart-columns i {
  width:100%;
  height:var(--bar);
  max-width:38px;
  background:var(--sage);
  border-radius:6px 6px 0 0;
  display:block;
  margin:auto auto 0
}

.kit-chart-columns>div:nth-child(3n) i {
  background:var(--gold)
}

.kit-chart-columns small {
  position:absolute;
  bottom:-26px;
  left:50%;
  transform:translateX(-50%);
  font-size:.6rem
}

.kit-ring {
  width:152px;
  height:152px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--sage) calc(var(--value)*1%),var(--sage-soft) 0);
  margin:10px auto 22px
}

.kit-ring>span {
  width:126px;
  height:126px;
  border-radius:50%;
  background:white;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center
}

.kit-ring strong {
  font-size:1.8rem
}

.kit-ring small {
  font-size:.65rem
}

.kit-quick-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}

.kit-quick-grid .button {
  justify-content:flex-start;
  font-size:.8rem;
  min-height:62px;
  line-height:1.5
}

.kit-messages {
  display:grid;
  gap:14px;
  padding:8px 0 24px;
  max-height:370px;
  overflow:auto
}

.kit-message {
  max-width:80%;
  background:var(--surface-muted);
  padding:15px 18px;
  border-radius:16px 16px 3px 16px;
  justify-self:start
}

.kit-message.is-own {
  justify-self:end;
  background:var(--sage-soft);
  border-radius:16px 16px 16px 3px
}

.kit-message p {
  font-size:.85rem;
  margin:0;
  white-space:pre-wrap
}

.kit-message small {
  font-size:.65rem
}

.kit-toggle-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--paper-deep)
}

.kit-toggle-row>span {
  font-size:.84rem
}

.kit-sticky-save {
  position:sticky;
  bottom:14px;
  padding:15px 20px;
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:15px;
  box-shadow:var(--shadow-md);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  z-index:50;
  margin-top:20px
}

.kit-sticky-save>span {
  font-size:.7rem;
  color:var(--muted)
}

.kit-sticky-save .button {
  font-size:.8rem;
  min-height:42px;
  padding:8px 15px
}

.kit-theme-preview {
  padding:20px;
  background:var(--sage-pale);
  border:1px solid var(--border);
  border-radius:13px;
  margin-top:20px
}

.kit-theme-preview h3 {
  font-size:.92rem
}

.kit-theme-preview p {
  font-size:.78rem
}

[data-settings-form] {
  display:grid;
  gap:20px
}

body.no-sticky-header .site-header {
  position:relative
}

body.no-footer [data-footer],body.no-announcement [data-announcement],body.no-mobile-bar [data-bottom-nav] {
  display:none
}

@media(min-width:1025px) {
  .admin-sidebar {
    width:auto!important;
    visibility:visible!important;
    transform:none!important
  }

  .admin-sidebar[inert] {
    pointer-events:auto
  }

}

@media(max-width:1200px) {
  .header-inner {
    gap:14px
  }

  .primary-nav {
    gap:12px
  }

  .primary-nav a {
    font-size:.72rem
  }

  .header-actions .button {
    padding:10px
  }

  .header-actions .button svg {
    display:none
  }

  .kit-hero .hero-grid {
    gap:30px
  }

  .kit-variant-grid {
    grid-template-columns:repeat(3,1fr)
  }

  .kit-grid--3 {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

}

@media(max-width:1024px) {
  .header-utility,.primary-nav,.header-actions {
    display:none!important
  }

  .kit-mobile-tools {
    display:flex
  }

  .header-inner {
    display:flex;
    justify-content:space-between;
    min-height:72px
  }

  .kit-mobile-tools>.language-menu>summary {
    border:1px solid var(--border);
    background:white;
    font-size:.75rem;
    max-width:160px
  }

  .kit-mobile-tools>.language-menu .language-menu__panel {
    width:min(250px,75vw);
    inset-inline-end:0
  }

  .kit-hero {
    padding:40px 0
  }

  .kit-hero h1 {
    font-size:2.2rem
  }

  .hero-grid {
    grid-template-columns:1fr 1fr
  }

  .kit-hero-preview {
    transform:none
  }

  .kit-hero .hero-actions {
    gap:8px
  }

  .kit-hero .hero-actions .button {
    font-size:.76rem;
    padding-inline:13px
  }

  .kit-mini-main {
    padding:16px
  }

  .kit-mini-body {
    grid-template-columns:50px 1fr
  }

  .kit-mini-nav {
    padding-inline:10px
  }

  .admin-sidebar__head>.icon-button {
    display:grid;
    margin-inline-start:auto;
    background:rgba(255,255,255,.1);
    border-color:rgba(255,255,255,.15);
    color:white
  }

  .kit-sticky-save {
    bottom:12px
  }

  .kit-bottom-nav {
    position:fixed;
    inset-inline:0;
    bottom:0;
    z-index:1100;
    background:rgba(255,253,249,.97);
    backdrop-filter:blur(14px);
    border-top:1px solid var(--border);
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    padding:8px 7px max(8px,env(safe-area-inset-bottom));
    box-shadow:0 -5px 20px rgba(30,45,35,.045)
  }

  .kit-bottom-nav>a {
    display:grid;
    justify-items:center;
    gap:3px;
    font-size:.58rem;
    line-height:1.8;
    min-width:0;
    color:var(--muted)
  }

  .kit-bottom-nav>a svg {
    width:21px;
    height:21px
  }

  .kit-bottom-nav>a.is-active {
    color:var(--clay-dark)
  }

  .page-public {
    padding-bottom:71px
  }

  .page-public.no-mobile-bar {
    padding-bottom:0
  }

  .site-canvas {
    min-height:calc(100vh - 71px)
  }

  .kit-toasts {
    bottom:88px
  }

  .page-admin .kit-toasts {
    bottom:22px
  }

}

@media(max-width:760px) {
  .container {
    width:calc(100% - 28px)
  }

  .kit-content {
    padding-block:28px 38px
  }

  .kit-heading-row {
    align-items:flex-start;
    flex-direction:column;
    gap:18px
  }

  .kit-heading-row h1 {
    font-size:1.7rem
  }

  .kit-heading-row p {
    font-size:.8rem
  }

  .kit-section-title h2 {
    font-size:1.16rem
  }

  .kit-section {
    margin-bottom:28px
  }

  .kit-grid--2,.kit-grid--3,.kit-grid--chart,.kit-split,.pricing-grid,.feature-grid {
    grid-template-columns:1fr
  }

  .kit-grid {
    gap:16px
  }

  .kit-hero .hero-grid {
    grid-template-columns:1fr;
    gap:28px
  }

  .kit-hero {
    padding:30px 0
  }

  .kit-hero h1 {
    font-size:1.85rem;
    line-height:1.6;
    max-width:100%
  }

  .kit-hero .hero-lead {
    font-size:.84rem;
    line-height:1.9
  }

  .kit-hero .hero-trust {
    margin-top:18px
  }

  .kit-hero .hero-actions .button {
    font-size:.78rem
  }

  .kit-hero-preview {
    max-width:500px;
    width:100%;
    margin:auto
  }

  .kit-mini-body {
    min-height:280px
  }

  .kit-mini-main {
    padding:18px
  }

  .kit-bars {
    height:86px;
    margin:16px 0
  }

  .kit-slider-controls {
    margin-top:19px
  }

  .kit-mini-nav {
    gap:32px
  }

  .kit-route-card {
    padding:20px
  }

  .feature-card {
    padding:22px
  }

  .feature-card__icon {
    margin-bottom:13px
  }

  .panel {
    padding:20px
  }

  .kit-variant-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 12px
  }

  .kit-variant-grid .button {
    font-size:.77rem;
    padding:10px 13px;
    min-height:44px
  }

  .kit-variant-grid code {
    font-size:.58rem
  }

  .kit-icon-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
  }

  .kit-type-samples h1 {
    font-size:1.65rem
  }

  .kit-swatches {
    gap:12px
  }

  .kit-swatches>div>span {
    height:57px
  }

  .kit-steps {
    gap:10px
  }

  .kit-steps li {
    font-size:.72rem;
    gap:6px
  }

  .kit-steps b {
    width:29px;
    height:29px
  }

  .form-grid {
    grid-template-columns:1fr
  }

  .form-grid>* {
    grid-column:auto
  }

  .kit-price-card {
    padding:25px
  }

  .kit-price {
    margin:12px 0
  }

  .kit-side-links {
    grid-template-columns:1fr 1fr
  }

  .kit-table-toolbar {
    gap:8px
  }

  .kit-search {
    min-width:100%;
    width:100%
  }

  .kit-filter {
    flex:1
  }

  .kit-filter select {
    width:100%;
    min-width:105px
  }

  .kit-table-bulk .button {
    font-size:.68rem;
    padding:6px 9px
  }

  .kit-table-bulk {
    gap:7px
  }

  .kit-table-bulk>span {
    width:100%
  }

  .kit-table-pagination {
    gap:10px
  }

  .kit-table-pagination>span {
    font-size:.68rem
  }

  .kit-table-pagination>.button-row {
    width:100%;
    justify-content:space-between
  }

  .kit-sort-list .icon-button {
    width:36px;
    height:36px
  }

  .kit-sort-list .button-row {
    gap:5px
  }

  .kit-reorder-label {
    font-size:.85rem
  }

  .site-footer .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:28px 20px
  }

  .site-footer .footer-about {
    grid-column:1/-1
  }

  .site-footer .footer-col h2 {
    font-size:.9rem
  }

  .site-footer .footer-col nav a {
    font-size:.75rem
  }

  .site-footer .footer-bottom {
    font-size:.7rem
  }

  .admin-stat-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }

  .admin-stat-grid>article {
    padding:13px;
    gap:6px 8px
  }

  .admin-stat-grid>article>span {
    width:35px;
    height:35px;
    border-radius:10px
  }

  .admin-stat-grid>article>span svg {
    width:18px;
    height:18px
  }

  .admin-stat-grid>article strong {
    font-size:1.12rem
  }

  .admin-stat-grid>article p {
    font-size:.65rem
  }

  .admin-page-header {
    align-items:flex-start;
    flex-direction:column;
    gap:15px
  }

  .admin-page-header h2 {
    font-size:1.4rem
  }

  .admin-page-header p {
    font-size:.7rem
  }

  .admin-main .panel {
    padding:17px
  }

  .admin-topbar {
    min-height:75px
  }

  .admin-topbar__section-icon {
    display:none
  }

  .admin-topbar .language-menu>summary {
    min-width:37px;
    width:37px;
    padding:8px;
    justify-content:center
  }

  .admin-topbar .language-menu>summary>span,.admin-topbar .language-menu>summary>svg:last-child {
    display:none
  }

  .admin-topbar__actions>.icon-button,.admin-topbar__actions>.kit-avatar {
    width:36px;
    height:36px
  }

  .admin-topbar__actions {
    gap:5px
  }

  .admin-topbar h1 {
    font-size:.88rem;
    max-width:100%
  }

  .admin-topbar .language-menu__panel {
    position:fixed;
    inset-inline:12px;
    top:70px;
    width:auto
  }

  .kit-quick-grid .button {
    min-height:55px;
    font-size:.7rem;
    padding:10px
  }

  .kit-chart-columns {
    gap:8px
  }

  .kit-chart {
    height:220px
  }

  .kit-sticky-save {
    flex-direction:column;
    align-items:stretch;
    padding:13px;
    gap:10px
  }

  .kit-sticky-save .button-row {
    gap:6px;
    display:grid;
    grid-template-columns:1fr 1fr
  }

  .kit-sticky-save .button {
    font-size:.72rem;
    padding:8px;
    min-height:39px
  }

  .kit-sticky-save>span {
    text-align:center;
    font-size:.64rem
  }

  .kit-dialog {
    padding:21px
  }

  .kit-dialog-head h2 {
    font-size:1.12rem
  }

  .kit-message {
    max-width:92%
  }

  .kit-page-heading {
    margin-bottom:28px
  }

  .kit-tab-list>button {
    font-size:.82rem;
    padding:9px 12px
  }

}

@media(max-width:430px) {
  .brand__name {
    font-size:.84rem
  }

  .kit-brand-mark {
    width:34px;
    height:34px;
    border-radius:10px
  }

  .kit-brand-mark svg {
    width:20px;
    height:20px
  }

  .brand {
    gap:7px
  }

  .kit-mobile-tools {
    gap:5px
  }

  .kit-mobile-tools>.icon-button {
    width:35px;
    height:38px;
    border-radius:10px
  }

  .kit-mobile-tools .language-menu>summary {
    padding:7px;
    max-width:95px;
    min-height:38px;
    font-size:.66rem;
    gap:5px
  }

  .kit-mobile-tools .language-menu>summary>svg:last-child {
    display:none
  }

  .kit-mobile-tools .language-menu>summary>span {
    max-width:51px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }

  .top-note {
    font-size:.61rem;
    padding:6px
  }

  .top-note__inner {
    gap:12px
  }

  .kit-hero .hero-actions {
    display:grid;
    grid-template-columns:1fr
  }

  .kit-hero .hero-actions .button {
    min-height:44px
  }

  .kit-bottom-nav>a {
    font-size:.5rem
  }

  .kit-bottom-nav>a>span {
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }

  .kit-mini-stats strong {
    font-size:1.2rem
  }

  .kit-mini-main h3 {
    font-size:.86rem
  }

  .kit-toasts {
    inset-inline:15px;
    max-width:calc(100% - 30px)
  }

  .kit-type-samples h1 {
    font-size:1.35rem
  }

  .kit-type-samples h2 {
    font-size:1.2rem
  }

  .kit-type-samples>div {
    gap:10px
  }

  .kit-steps {
    flex-wrap:wrap
  }

  .kit-chart-columns {
    gap:5px
  }

  .admin-topbar h1 {
    font-size:.77rem
  }

  .admin-topbar__eyebrow {
    font-size:.58rem
  }

  .admin-topbar__actions>.kit-avatar {
    display:none
  }

  .kit-summary-line {
    font-size:.78rem
  }

}

.button--primary {
  background:var(--button-primary,#bd5233);
  border-color:var(--button-primary,#bd5233)
}

html[lang^="ti"] body,.language-menu [lang^="ti"] {
  font-family:"TrafikRedo Ethiopic",Arial,sans-serif
}

@media(max-width:1024px) {
  .header-inner>.brand,.header-inner>.brand:not(.brand--custom),html[dir="rtl"] .header-inner>.brand {
    position:static;
    transform:none;
    width:auto;
    max-width:none;
    min-width:0;
    flex:1;
    margin:0;
    justify-content:flex-start
  }

  .header-inner>.brand .brand__name {
    display:block;
    max-width:140px;
    font-size:.85rem
  }

  .header-inner {
    direction:inherit
  }

  .kit-mobile-tools {
    flex:none
  }

  .kit-mobile-tools .language-menu__panel {
    position:fixed;
    inset-inline:12px auto;
    top:70px;
    width:min(230px,68vw)
  }

  html[dir="rtl"] .kit-mobile-tools .language-menu__panel {
    inset-inline:auto 12px
  }

}

@media(max-width:365px) {
  .header-inner>.brand .brand__name {
    max-width:70px;
    font-size:.71rem
  }

  .kit-mobile-tools .language-menu>summary>span {
    max-width:42px
  }

  .kit-mobile-tools>.icon-button {
    width:32px
  }

  .kit-mobile-tools {
    gap:4px
  }

}

@media print {
  .site-header,.header-utility,.top-note,.site-footer,.kit-bottom-nav,.admin-sidebar,.admin-topbar,.kit-sticky-save,.kit-toasts,.button,.icon-button {
    display:none!important
  }

  .admin-shell {
    display:block
  }

  .site-canvas {
    width:100%!important;
    box-shadow:none!important
  }

  .page-public {
    padding:0
  }

  .kit-content,.admin-main {
    padding:0
  }

  .panel {
    break-inside:avoid;
    box-shadow:none
  }

  .kit-data .table-wrap {
    overflow:visible
  }

  .kit-data table {
    min-width:0
  }

  .kit-data td,.kit-data th {
    font-size:9px;
    padding:6px
  }

}

/* Restored original homepage slider and inner-page heroes. */
.homepage-tip + .homepage-slider-section {
padding-block-start: 0;
}

.homepage-slider-section {
padding-block: 20px 0;
}

.homepage-slider {
position: relative;
  min-height: var(--home-slider-height, 330px);
  height: var(--home-slider-height, 330px);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--sage-dark);
  isolation: isolate;
}

.homepage-slider__track,
.homepage-slide {
position: absolute;
  inset: 0;
}

.homepage-slide {
opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--home-slider-transition, 650ms) ease, visibility var(--home-slider-transition, 650ms) ease;
}

.homepage-slide.is-active {
opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}

.homepage-slide__background {
position: absolute;
  inset: 0;
  overflow: hidden;
  background-color: var(--slide-overlay, var(--sage-dark));
}

.homepage-slide__background img {
display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--slide-position, center);
}

.homepage-slide__overlay {
position: absolute;
  inset: 0;
  background: var(--slide-overlay, #223029);
  opacity: var(--slide-overlay-opacity, .48);
}

.homepage-slide__content {
position: relative;
  z-index: 2;
  width: min(1040px, calc(100% - 130px));
  min-height: 100%;
  margin-inline: auto;
  padding: 36px 32px 54px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.homepage-slide__eyebrow {
display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding-inline: 14px;
  margin-block-end: 12px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
  backdrop-filter: blur(7px);
}

.homepage-slide__title {
width: 100%;
  max-width: 100%;
  margin: 0;
  color: #fff;
  font-size: clamp(30px, var(--slide-title-desktop, 44px), 72px);
  line-height: 1.28;
  font-weight: 700;
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(15, 26, 20, .24);
}

@media (min-width: 761px) {
.homepage-slide__title {
white-space: nowrap;
    text-wrap: nowrap;
}
}

.homepage-slide__description {
width: min(100%, 820px);
  max-width: 820px;
  margin: 13px 0 0;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  color: rgba(255, 255, 255, .94);
  font-size: var(--slide-description-desktop, 17px);
  line-height: 1.85;
  font-weight: 400;
  text-wrap: balance;
}

.homepage-slide__button {
min-height: 49px;
  margin-block-start: 20px;
  padding: 11px 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--slide-button-bg, var(--clay));
  border-radius: var(--radius-sm);
  background: var(--slide-button-bg, var(--clay));
  color: var(--slide-button-text, #fff);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
  transition: filter var(--transition), transform var(--transition);
}

.homepage-slide__button:hover {
filter: brightness(.94);
  transform: translateY(-1px);
}

.homepage-slide__button:focus-visible {
outline: 3px solid rgba(255, 255, 255, .9);
  outline-offset: 3px;
}

.homepage-slider__arrow {
position: absolute;
  z-index: 5;
  inset-block-start: 50%;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  background: rgba(255, 253, 249, .92);
  color: var(--ink);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background var(--transition), border-color var(--transition), transform var(--transition);
}

.homepage-slider__arrow:hover {
background: #fff;
  border-color: #fff;
  transform: translateY(-50%) scale(1.03);
}

.homepage-slider__arrow svg {
width: 20px;
  height: 20px;
}

.homepage-slider__arrow--previous {
inset-inline-start: 18px;
}

.homepage-slider__arrow--next {
inset-inline-end: 18px;
}

[dir="rtl"] .homepage-slider__arrow--next svg,
[dir="ltr"] .homepage-slider__arrow--previous svg {
transform: rotate(180deg);
}

.homepage-slider__dots {
position: absolute;
  z-index: 6;
  width: max-content;
  max-width: calc(100% - 40px);
  min-height: 31px;
  padding: 7px 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: var(--radius-pill);
  background: rgba(34, 48, 41, .55);
  backdrop-filter: blur(9px);
}

.homepage-slider__dots--bottom {
inset-inline: 0;
  inset-block-end: 15px;
  margin-inline: auto;
}

.homepage-slider__dots--side {
inset-block-start: 50%;
  max-height: calc(100% - 42px);
  min-width: 31px;
  padding: 11px 7px;
  flex-direction: column;
  transform: translateY(-50%);
}

.homepage-slider__dots--side.homepage-slider__dots--right {
right: 17px;
  left: auto;
}

.homepage-slider__dots--side.homepage-slider__dots--left {
right: auto;
  left: 17px;
}

.homepage-slider--dots-side .homepage-slider__arrow--previous {
inset-inline-start: 67px;
}

.homepage-slider--dots-side .homepage-slider__arrow--next {
inset-inline-end: 67px;
}

.homepage-slider__dots button {
width: 8px;
  height: 8px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--slider-dot-color, #fff);
  opacity: .62;
  cursor: pointer;
  transition: width var(--transition), height var(--transition), background var(--transition), opacity var(--transition);
}

.homepage-slider__dots button.is-active {
width: 25px;
  background: var(--slider-dot-active-color, var(--gold));
  opacity: 1;
}

.homepage-slider__dots--side button.is-active {
width: 8px;
  height: 25px;
}

.homepage-slider__dots button:focus-visible {
outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 760px) {
.homepage-slider-section {
padding-block-start: 12px;
}

.homepage-slider {
height: var(--home-slider-height-mobile, 340px);
    min-height: var(--home-slider-height-mobile, 340px);
    border-radius: var(--radius-md);
}

.homepage-slide__background img {
object-position: var(--slide-position-mobile, var(--slide-position, center));
}

.homepage-slide__content {
width: 100%;
    padding: 28px 22px 64px;
}

.homepage-slider--dots-side .homepage-slide__content {
padding-inline: 22px;
}

.homepage-slide__title {
display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-size: min(var(--slide-title-mobile, 32px), 27px);
    line-height: 1.42;
    white-space: normal;
    text-wrap: balance;
}

.homepage-slide__description {
width: min(100%, 620px);
    max-width: 620px;
    font-size: min(var(--slide-description-mobile, 15px), 14px);
    line-height: 1.75;
}

.homepage-slide__eyebrow {
min-height: 28px;
    margin-block-end: 8px;
    padding-inline: 12px;
    font-size: 12px;
}

.homepage-slide__button {
width: min(100%, 310px);
    min-height: 44px;
    margin-block-start: 14px;
    padding-block: 9px;
}

.homepage-slider__arrow {
inset-block-start: auto;
    inset-block-end: 16px;
    width: 40px;
    height: 40px;
    transform: none;
}

.homepage-slider__arrow:hover {
transform: scale(1.03);
}

.homepage-slider__arrow--previous {
inset-inline-start: 15px;
}

.homepage-slider__arrow--next {
inset-inline-end: 15px;
}

.homepage-slider__dots--bottom {
inset-block-end: 20px;
}

.homepage-slider__dots--side {
inset-block-start: auto;
    inset-block-end: 20px;
    right: auto;
    left: 50%;
    max-height: none;
    min-width: 31px;
    padding: 7px 11px;
    flex-direction: row;
    transform: translateX(-50%);
}

.homepage-slider__dots--side.homepage-slider__dots--right,
  .homepage-slider__dots--side.homepage-slider__dots--left {
right: auto;
    left: 50%;
}

.homepage-slider__dots--side button.is-active {
width: 25px;
    height: 8px;
}

.homepage-slider--dots-side .homepage-slider__arrow--previous {
inset-inline-start: 15px;
}

.homepage-slider--dots-side .homepage-slider__arrow--next {
inset-inline-end: 15px;
}
}

@media (max-width: 390px) {
.homepage-slide__content {
padding-inline: 17px;
}

.homepage-slider--dots-side .homepage-slide__content {
padding-inline: 17px;
}

.homepage-slide__title {
font-size: min(var(--slide-title-mobile, 32px), 23px);
}

.homepage-slide__description {
font-size: min(var(--slide-description-mobile, 15px), 13px);
}
}

@media (max-width: 350px) {
.homepage-slide__title {
font-size: min(var(--slide-title-mobile, 32px), 21px);
}
}

@media (prefers-reduced-motion: reduce) {
.homepage-slide,
  .homepage-slide__background,
  .homepage-slider__dots button,
  .homepage-service-box,
  .homepage-trial-card__progress i {
transition: none;
}
}
.page-hero {
padding: 0;
  background: transparent;
  border: 0;
}

.page-hero__panel {
position: relative;
  height: var(--page-hero-height,240px);
  min-height: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0 !important;
  background-color: var(--page-hero-end,#536B58);
  background-image:
    linear-gradient(90deg,
      color-mix(in srgb,var(--page-hero-start,#34493A) 72%,transparent),
      color-mix(in srgb,var(--page-hero-start,#34493A) 42%,transparent) 50%,
      color-mix(in srgb,var(--page-hero-end,#536B58) 72%,transparent)),
    var(--page-hero-background),
    linear-gradient(112deg,var(--page-hero-start,#34493A),var(--page-hero-end,#536B58));
  background-position: center,var(--page-hero-position,center),center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--page-hero-text,#FFFDF9);
  box-shadow: none !important;
  isolation: isolate;
}

.page-hero__panel::before {
content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center,
    color-mix(in srgb,var(--page-hero-start,#34493A) 58%,transparent) 0,
    color-mix(in srgb,var(--page-hero-start,#34493A) 34%,transparent) 45%,
    transparent 76%);
}

.page-hero__panel::after {
content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(15,25,20,.08),transparent 45%,rgba(15,25,20,.16));
}

.page-hero__layout {
position: relative;
  z-index: 1;
  height: 100%;
  min-height: 0;
  padding-block: 26px;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  place-items: center;
}

.page-hero__copy {
width: min(100%,940px);
  min-width: 0;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: inherit;
  direction: ltr;
  text-align: center;
  text-shadow: 0 2px 14px rgba(17,28,23,.28);
}

html[dir="rtl"] .page-hero__copy {
direction: rtl;
  text-align: center;
}

.page-hero h1 {
width: 100%;
  max-width: 900px;
  margin: 0;
  overflow: hidden;
  color: inherit;
  font-size: clamp(2rem,3.6vw,2.75rem);
  line-height: 1.22;
  text-wrap: balance;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-hero p {
width: 100%;
  max-width: 820px;
  margin: 0;
  overflow: hidden;
  color: color-mix(in srgb,var(--page-hero-text,#FFFDF9) 80%,transparent);
  font-size: clamp(.92rem,1.25vw,1.04rem);
  line-height: 1.75;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media (max-width: 760px) {
.page-hero {
padding: 0;
}

.page-hero__panel {
height: auto;
    min-height: var(--page-hero-height-mobile,280px);
    border-radius: 0 !important;
    background-image:
      linear-gradient(90deg,
        color-mix(in srgb,var(--page-hero-start,#34493A) 74%,transparent),
        color-mix(in srgb,var(--page-hero-start,#34493A) 48%,transparent) 50%,
        color-mix(in srgb,var(--page-hero-end,#536B58) 74%,transparent)),
      var(--page-hero-background-mobile),
      linear-gradient(112deg,var(--page-hero-start,#34493A),var(--page-hero-end,#536B58));
    background-position: center,var(--page-hero-position,center),center;
}

.page-hero__layout,
  html[dir="rtl"] .page-hero__layout,
  html[dir="ltr"] .page-hero__layout {
height: auto;
    min-height: var(--page-hero-height-mobile,280px);
    padding-block: 26px;
    grid-template-columns: 1fr;
    place-items: center;
}

.page-hero__copy {
width: 100%;
    max-width: 620px;
    margin-inline: auto;
    align-items: center;
    text-align: center;
}

html[dir="rtl"] .page-hero__copy {
align-items: center;
    direction: rtl;
    text-align: center;
}

html[dir="ltr"] .page-hero__copy {
align-items: center;
    direction: ltr;
    text-align: center;
}
}

@media (max-width: 520px) {
.page-hero__layout,
  html[dir="rtl"] .page-hero__layout,
  html[dir="ltr"] .page-hero__layout {
padding: 24px 14px;
}

.page-hero__copy {
gap: 8px;
}

.page-hero h1 {
font-size: clamp(1.75rem,8.7vw,2.25rem);
}

.student-attempt-history-page .page-hero h1 {
font-size: clamp(1.6rem,7.8vw,2rem);
}

.page-hero p {
font-size: .88rem; line-height: 1.65; -webkit-line-clamp: 5;
}
}

@media (max-width: 760px) {
html[dir] .page-hero .page-hero__panel,
  .page-hero .page-hero__layout,
  html[dir] .page-hero .page-hero__layout {
height: auto;
    min-height: min(190px,calc(var(--page-hero-height-mobile,280px) * .65));
}

html[dir] .page-hero .page-hero__layout {
padding: 18px 16px;
}

.page-hero .page-hero__copy {
gap: 8px;
}

.page-hero h1, .page-hero p {
-webkit-line-clamp: unset;
}
}

/* Shared flags use local SVGs so they also render on Windows and offline. */
.language-flag {
  display:block;
  width:30px;
  height:20px;
  flex:none;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(48,65,52,.12);
}
.language-menu>summary>.language-flag {
  width:24px;
  height:16px;
}
.kit-language-field {
  display:grid;
  gap:8px;
  min-width:0;
  font-weight:600;
}
.kit-settings-language-field,.kit-settings-language {
  width:100%;
  min-width:0;
}
.kit-settings-language>summary {
  min-height:48px;
  justify-content:flex-start;
  padding:10px 13px;
  font-weight:400;
}
.kit-settings-language>summary::after {
  content:"⌄";
  margin-inline-start:auto;
  color:var(--muted);
}
.kit-settings-language .language-menu__panel {
  width:100%;
  min-width:0;
  z-index:20;
}
.language-menu__list .kit-language-option {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  min-height:54px;
  padding:8px;
  border:1px solid transparent;
  border-inline-start-width:3px;
  border-radius:11px;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:.85rem;
  font-weight:400;
  line-height:1.35;
  text-align:left;
  direction:ltr;
  cursor:pointer;
}
.language-menu__list .kit-language-option:hover {
  border-color:var(--border);
  background:var(--cream);
}
.language-menu__list .kit-language-option[aria-pressed="true"] {
  border-color:#d4e0d5;
  border-inline-start-color:var(--sage-dark);
  background:var(--sage-soft);
  color:var(--sage-dark);
}
.kit-page-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:28px;
}
.kit-page-tools .kit-breadcrumb,.kit-page-tools .kit-heading-row {
  margin:0;
}
.page-hero--admin {
  margin-bottom:24px;
}
.page-hero--admin .page-hero__panel {
  height:200px;
}
.page-hero--admin h2 {
  width:100%;
  margin:0;
  color:inherit;
  font-size:clamp(1.75rem,3.6vw,2.75rem);
  line-height:1.3;
  text-wrap:balance;
}
.homepage-slider__pause {
  position:absolute;
  z-index:6;
  inset-block-start:14px;
  inset-inline-end:14px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:8px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(23,43,35,.55);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(7px);
}
.homepage-slider__pause svg { width:16px; height:16px; }
.homepage-slider__pause:hover { background:rgba(23,43,35,.85); }
.homepage-slider__pause:focus-visible { outline:2px solid white; outline-offset:3px; }
.homepage-slider__pause:disabled { opacity:.45; cursor:default; }
@media(max-width:760px) {
  .page-hero--admin { margin-bottom:20px; }
  .page-hero--admin h2 { font-size:clamp(1.5rem,7vw,2rem); }
  .kit-page-tools { margin-bottom:24px; }
}

/* Hero image variables resolve relative to this stylesheet in assets/. */
@media(max-width:760px) {
  .admin-topbar .language-menu>summary {
    display:flex;
    gap:0;
    padding:6px;
  }
  .admin-topbar .language-menu>summary>.language-flag {
    width:24px;
    max-width:24px;
    height:16px;
  }
}
