:root{
  --color-bg:#000000;
  --color-surface:#0A0A0A;
  --color-surface-raised:#111111;
  --color-text:#D8D0C2;
  --color-text-secondary:#A7A29A;
  --color-text-tertiary:#7E7A74;
  --color-text-disabled:#5F5A55;
  --color-border:#1E1E1E;
  --color-divider-soft:#161616;
  --color-link:#CBB89A;
  --color-link-hover:#DDD0BA;
  --color-active:#B8A184;
  --color-button-bg:#1A1A1A;
  --color-button-text:#D8D0C2;
  --color-button-border:#2A2A2A;
  --color-button-hover:#232323;
  --color-success:#8E9A84;
  --color-warning:#B89F6B;
  --color-danger:#9A6F6F;
  --color-danger-bg:#120F0F;
  --color-focus:rgba(203,184,154,0.35);
  --shadow-raised:0 18px 42px rgba(0,0,0,0.45);
  --font-body:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-heading:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-nav:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body-variation-settings:normal;
  --font-heading-variation-settings:normal;
  --font-nav-variation-settings:normal;
  --font-body-weight:400;
  --color-nav-link:#CBB89A;
  --color-nav-link-hover:#DDD0BA;
  --color-nav-link-active:#B8A184;
  --font-nav-size:16px;
  --font-nav-weight:500;
  --font-heading-weight:600;
  --font-nav-letter-spacing:0.01em;
  --nav-link-gap:8px;
  --font-heading-letter-spacing:0;
  --nav-text-offset:0px;
  --logo-horizontal-offset:0px;
  --logo-offset:0px;
  --logo-height:52px;
  --site-header-height:104px;
  --site-footer-height:48px;
  --type-pageTitle-font:var(--font-heading);
  --type-pageTitle-size:32px;
  --type-pageTitle-color:var(--color-text);
  --type-pageTitle-variation:var(--font-heading-variation-settings);
  --type-pageTitle-weight:var(--font-heading-weight);
  --type-sectionHeading-font:var(--font-heading);
  --type-sectionHeading-size:23px;
  --type-sectionHeading-color:var(--color-text);
  --type-sectionHeading-variation:var(--font-heading-variation-settings);
  --type-sectionHeading-weight:var(--font-heading-weight);
  --type-subheading-font:var(--font-heading);
  --type-subheading-size:18px;
  --type-subheading-color:var(--color-text-secondary);
  --type-subheading-variation:var(--font-heading-variation-settings);
  --type-subheading-weight:var(--font-heading-weight);
  --type-showName-font:var(--font-heading);
  --type-showName-size:22px;
  --type-showName-color:var(--color-text);
  --type-showName-variation:var(--font-heading-variation-settings);
  --type-showName-weight:var(--font-heading-weight);
  --type-showDate-font:var(--font-body);
  --type-showDate-size:16px;
  --type-showDate-color:var(--color-link);
  --type-showDate-variation:var(--font-body-variation-settings);
  --type-showDate-weight:var(--font-body-weight);
  --type-showLocation-font:var(--font-body);
  --type-showLocation-size:15px;
  --type-showLocation-color:var(--color-text-secondary);
  --type-showLocation-variation:var(--font-body-variation-settings);
  --type-showLocation-weight:var(--font-body-weight);
  --type-bodyText-font:var(--font-body);
  --type-bodyText-size:16px;
  --type-bodyText-color:var(--color-text);
  --type-bodyText-variation:var(--font-body-variation-settings);
  --type-bodyText-weight:var(--font-body-weight);
  --type-metaText-font:var(--font-body);
  --type-metaText-size:14px;
  --type-metaText-color:var(--color-text-secondary);
  --type-metaText-variation:var(--font-body-variation-settings);
  --type-metaText-weight:var(--font-body-weight);
}

*{box-sizing:border-box}

html,body{
  height:100%;
  margin:0;
  font-family:var(--font-body);
  font-variation-settings:var(--font-body-variation-settings);
  font-weight:var(--font-body-weight);
}

html{
  background:var(--color-bg);
  color-scheme:dark;
}

body{
  background:var(--color-bg);
  color:var(--color-text);
  line-height:1.5;
}

a{
  color:var(--color-link);
  text-decoration:none;
  transition:color 120ms ease,border-color 120ms ease,background-color 120ms ease;
}

a:hover{
  color:var(--color-link-hover);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--color-focus);
  outline-offset:2px;
}

button,
input,
select,
textarea{
  font:inherit;
}

input[type="color"]{
  inline-size:48px;
  block-size:48px;
  padding:4px;
  border:1px solid var(--color-button-border);
  border-radius:8px;
  background:var(--color-surface-raised);
  cursor:pointer;
}

input[type="color"]::-webkit-color-swatch-wrapper{
  padding:0;
}

input[type="color"]::-webkit-color-swatch{
  border:0;
  border-radius:4px;
}

input[type="color"]::-moz-color-swatch{
  border:0;
  border-radius:4px;
}

button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  min-height:46px;
  border:1px solid var(--color-button-border);
  border-radius:4px;
  background:var(--color-button-bg);
  color:var(--color-button-text);
  cursor:pointer;
  line-height:1.2;
  -webkit-appearance:none;
  appearance:none;
}

button:hover{
  background:var(--color-button-hover);
}

button:disabled{
  color:var(--color-text-disabled);
  cursor:not-allowed;
}

code{
  color:var(--color-text-secondary);
}

::placeholder{
  color:var(--color-text-tertiary);
}

.wrap{
  max-width:900px;
  margin:0 auto;
  padding:24px;
}

.site-header{
  border-bottom:1px solid var(--color-border);
  background:var(--header-shell-background, var(--color-surface));
}

.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  min-height:max(0px, calc(var(--site-header-height) - clamp(12px, calc(var(--site-header-height) * 0.22), 36px) - clamp(8px, calc(var(--site-header-height) * 0.12), 16px)));
  padding-top:clamp(12px, calc(var(--site-header-height) * 0.22), 36px);
  padding-bottom:clamp(8px, calc(var(--site-header-height) * 0.12), 16px);
}

.brand{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  line-height:0;
}

.brand-text{
  color:var(--color-text);
  font-family:var(--font-heading);
  font-size:1.3rem;
  font-weight:var(--font-heading-weight);
  font-variation-settings:var(--font-heading-variation-settings);
  letter-spacing:var(--font-heading-letter-spacing);
  line-height:1.1;
}

.brand-logo{
  display:block;
  width:auto;
  height:var(--logo-height);
  max-width:min(640px, 80vw);
  object-fit:contain;
  transform:translate(var(--logo-horizontal-offset), var(--logo-offset));
}

.site-nav{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  min-width:0;
  gap:6px var(--nav-link-gap);
  color:var(--color-nav-link);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  transform:translateY(var(--nav-text-offset));
}

.site-header .wrap.is-nav-wrapped{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  justify-items:center;
  gap:14px;
}

.site-header .wrap.is-nav-wrapped .brand{
  justify-self:center;
  transform:translateX(calc(var(--logo-horizontal-offset) * -1));
}

.site-header .wrap.is-nav-wrapped .site-nav{
  width:100%;
  justify-content:center;
}

.site-nav a,
.site-nav a:link,
.site-nav a:visited{
  color:var(--nav-link-color-effective, var(--color-nav-link));
  -webkit-text-fill-color:var(--nav-link-fill-effective, currentColor);
  font-palette:var(--nav-font-palette-link, normal);
  opacity:1;
  font-family:var(--font-nav);
  font-size:var(--font-nav-size);
  font-weight:var(--font-nav-weight);
  font-variation-settings:var(--font-nav-variation-settings);
  letter-spacing:var(--font-nav-letter-spacing);
  text-decoration:none;
}

.site-nav a:hover,
.site-nav a:hover:visited,
.site-nav a:focus,
.site-nav a:focus:visited,
.site-nav a:focus-visible,
.site-nav a:focus-visible:visited,
.site-nav .nav-button:hover,
.site-nav .nav-button:focus,
.site-nav .nav-button:focus-visible{
  color:var(--nav-hover-color-effective, var(--color-nav-link-hover));
  -webkit-text-fill-color:var(--nav-hover-fill-effective, currentColor);
  font-palette:var(--nav-font-palette-hover, normal);
}

.site-nav a:active,
.site-nav a:active:visited,
.site-nav a[aria-current="page"]{
  color:var(--nav-active-color-effective, var(--color-nav-link-active));
  -webkit-text-fill-color:var(--nav-active-fill-effective, currentColor);
  font-palette:var(--nav-font-palette-active, normal);
}

.site-nav .nav-inline-form{
  display:inline-flex;
  align-items:center;
}

.site-nav .nav-button{
  padding:0;
  border:0;
  background:none;
  color:var(--nav-link-color-effective, var(--color-nav-link));
  -webkit-text-fill-color:var(--nav-link-fill-effective, currentColor);
  font-palette:var(--nav-font-palette-link, normal);
  opacity:1;
  font-family:var(--font-nav);
  font-size:var(--font-nav-size);
  font-weight:var(--font-nav-weight);
  font-variation-settings:var(--font-nav-variation-settings);
  letter-spacing:var(--font-nav-letter-spacing);
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.site-nav a[hidden]{
  display:none;
}

.nav-debug-panel{
  margin-top:10px;
  margin-bottom:8px;
  padding:8px 12px;
  border:1px dashed var(--color-warning);
  background:var(--color-surface-raised);
  color:var(--color-text-secondary);
  font-size:0.85rem;
}

.nav-debug-panel summary{
  cursor:pointer;
  color:var(--color-link-hover);
  font-weight:600;
}

.nav-debug-panel[open]{
  padding-bottom:12px;
}

.nav-debug-panel[open] summary{
  margin-bottom:10px;
}

.nav-debug-panel code{
  color:var(--color-link-hover);
}

.nav-debug-section{
  margin-top:12px;
}

.nav-debug-list{
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:4px 10px;
  margin:8px 0 0;
}

.nav-debug-list dt{
  color:var(--color-text-tertiary);
}

.nav-debug-list dd{
  margin:0;
  color:var(--color-text);
  word-break:break-word;
}

.nav-debug-samples{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:12px;
  margin-top:10px;
}

.nav-debug-sample-card{
  padding:10px;
  border:1px solid var(--color-border);
  background:var(--color-surface);
}

.nav-debug-sample-label{
  margin-bottom:8px;
  color:var(--color-text-tertiary);
  font-size:0.8rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.nav-debug-sample-nav{
  justify-content:flex-start;
  transform:none;
}

.nav-debug-sample-nav a,
.nav-debug-sample-nav a:link,
.nav-debug-sample-nav a:visited{
  margin-left:0;
}

.nav-debug-inline-sample{
  display:inline-block;
}

.nav-debug-swatch{
  width:100%;
  min-height:38px;
  border:1px solid var(--color-border);
  background:transparent;
}

.nav-debug-swatch-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

main h1:not(.site-page-title){
  margin-top:0;
  color:var(--color-text);
}

.site-page-title{
  margin:0;
  color:var(--type-pageTitle-color);
  font-family:var(--type-pageTitle-font);
  font-size:var(--type-pageTitle-size);
  font-weight:var(--type-pageTitle-weight);
  font-variation-settings:var(--type-pageTitle-variation);
  letter-spacing:var(--font-heading-letter-spacing);
  line-height:1.1;
}

.site-section-heading{
  margin:0;
  color:var(--type-sectionHeading-color);
  font-family:var(--type-sectionHeading-font);
  font-size:var(--type-sectionHeading-size);
  font-weight:var(--type-sectionHeading-weight);
  font-variation-settings:var(--type-sectionHeading-variation);
  letter-spacing:var(--font-heading-letter-spacing);
  line-height:1.15;
}

.site-subheading{
  margin:0;
  color:var(--type-subheading-color);
  font-family:var(--type-subheading-font);
  font-size:var(--type-subheading-size);
  font-weight:var(--type-subheading-weight);
  font-variation-settings:var(--type-subheading-variation);
  letter-spacing:var(--font-heading-letter-spacing);
  line-height:1.2;
}

h1,h2,h3,h4,h5,h6{
  color:var(--color-text);
  font-family:var(--font-heading);
  font-weight:var(--font-heading-weight);
  font-variation-settings:var(--font-heading-variation-settings);
  letter-spacing:var(--font-heading-letter-spacing);
}

p,li,td,th,label{
  color:inherit;
}

.site-body-text{
  margin:0;
  color:var(--type-bodyText-color);
  font-family:var(--type-bodyText-font);
  font-size:var(--type-bodyText-size);
  font-weight:var(--type-bodyText-weight);
  font-variation-settings:var(--type-bodyText-variation);
  line-height:1.7;
}

.site-meta-text{
  margin:0;
  color:var(--type-metaText-color);
  font-family:var(--type-metaText-font);
  font-size:var(--type-metaText-size);
  font-weight:var(--type-metaText-weight);
  font-variation-settings:var(--type-metaText-variation);
  line-height:1.4;
}

.site-show-name a,
.site-show-name a:hover{
  color:inherit;
}

.site-footer{
  border-top:1px solid var(--color-border);
  text-align:center;
  color:var(--color-text-tertiary);
  font-size:0.9rem;
  background:var(--footer-shell-background, var(--color-surface));
}

.site-footer .wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:max(0px, calc(var(--site-footer-height) - clamp(4px, calc(var(--site-footer-height) * 0.16), 12px) - clamp(4px, calc(var(--site-footer-height) * 0.16), 12px)));
  padding-top:clamp(4px, calc(var(--site-footer-height) * 0.16), 12px);
  padding-bottom:clamp(4px, calc(var(--site-footer-height) * 0.16), 12px);
}

.admin-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.toolbar-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.toolbar-actions--stacked{
  flex-direction:column;
  align-items:flex-end;
}

.social-icon-selector-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:12px;
  margin-top:14px;
}

.social-icon-selector{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--color-border);
  background:var(--color-surface);
}

.social-icon-selector img{
  width:24px;
  height:24px;
  object-fit:contain;
}

.home-block-editor-grid{
  display:grid;
  gap:18px;
}

.home-block-editor-card{
  display:grid;
  gap:18px;
  padding:18px;
  border:1px solid var(--color-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(18,18,18,0.96), rgba(10,10,10,1));
}

.home-block-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.home-block-editor-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(203,184,154,0.12);
  border:1px solid rgba(203,184,154,0.3);
  color:rgba(244,238,228,0.96);
  font-size:0.92rem;
  font-weight:600;
}

.home-block-editor-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(280px, 360px);
  gap:18px;
  align-items:start;
}

.home-block-image-panel{
  display:grid;
  gap:12px;
}

.home-block-image-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:200px;
  padding:14px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:rgba(8,8,8,0.94);
}

.home-block-image-preview img{
  display:block;
  max-width:100%;
  max-height:240px;
  width:auto;
  height:auto;
  border-radius:12px;
}

.home-block-image-empty{
  color:var(--color-text-secondary);
  text-align:center;
}

.home-block-upload-controls{
  display:grid;
  gap:10px;
}

.home-block-upload-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.home-block-upload-status[data-state="error"]{
  color:var(--color-danger);
}

.home-block-current-path{
  word-break:break-all;
}

@media (max-width: 960px){
  .home-block-editor-head{
    display:block;
  }

  .home-block-editor-layout{
    grid-template-columns:1fr;
  }

  .home-block.has-image,
  .home-block--offset-left.has-image{
    grid-template-columns:1fr;
  }

  .home-block__text-wrap{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .home-block__media,
  .home-block--offset-left .home-block__media{
    justify-self:start;
    width:min(100%, 420px);
  }
}

.home-layout{
  display:grid;
  gap:clamp(28px, 6vw, 72px);
}

.home-layout--empty{
  min-height:clamp(260px, 38vw, 420px);
  align-items:center;
}

.home-block{
  --home-block-offset:0px;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  align-items:center;
  gap:clamp(18px, 3vw, 36px);
}

.home-block.has-image{
  grid-template-columns:minmax(0, 1fr) minmax(220px, 340px);
}

.home-block--offset-right.has-image{
  grid-template-columns:minmax(220px, 340px) minmax(0, 1fr);
}

.home-block__text-wrap{
  display:grid;
  gap:12px;
  min-width:0;
}

.home-block--offset-right .home-block__text-wrap{
  margin-left:min(var(--home-block-offset), 20vw);
}

.home-block--offset-left .home-block__text-wrap{
  margin-right:min(var(--home-block-offset), 20vw);
}

.home-block__copy{
  white-space:pre-line;
}

.home-block__media{
  position:relative;
  width:min(100%, 340px);
  justify-self:end;
}

.home-block--offset-left .home-block__media{
  justify-self:end;
}

.home-block--offset-right .home-block__media{
  justify-self:start;
}

.home-block__image{
  display:block;
  width:100%;
  height:auto;
  max-height:min(52vw, 460px);
  border-radius:18px;
  object-fit:cover;
  background:rgba(12,12,12,0.95);
  box-shadow:0 18px 40px rgba(0,0,0,0.28);
}

.home-social-icons{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}

.home-social-icons__item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--home-social-icon-size, 32px);
  height:var(--home-social-icon-size, 32px);
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease, opacity .16s ease;
}

a.home-social-icons__item:hover,
a.home-social-icons__item:focus-visible{
  transform:translateY(-1px);
  opacity:0.92;
}

.home-social-icons__item img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.social-link-settings-list{
  display:grid;
  gap:14px;
}

.social-link-settings-row{
  display:grid;
  grid-template-columns:minmax(180px, 220px) minmax(0, 1fr);
  gap:14px;
  align-items:center;
}

.social-link-settings-label{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--color-text);
}

.social-link-settings-label img{
  width:28px;
  height:28px;
  object-fit:contain;
}

.filter-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:16px;
}

.filter-link,
.button-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  min-height:46px;
  border:1px solid var(--color-button-border);
  border-radius:6px;
  color:var(--color-button-text);
  background:var(--color-button-bg);
  line-height:1.2;
}

.filter-link:hover,
.button-link:hover{
  background:var(--color-button-hover);
  color:var(--color-link-hover);
  border-color:var(--color-active);
}

.filter-link.is-active{
  border-color:var(--color-active);
  color:var(--color-active);
  background:var(--color-surface-raised);
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  background:var(--color-surface);
  border:1px solid var(--color-border);
}

.admin-table th,
.admin-table td{
  padding:10px 8px;
  border-bottom:1px solid var(--color-divider-soft);
  text-align:left;
  vertical-align:top;
}

.admin-table th{
  color:var(--color-text-secondary);
  font-weight:600;
  background:var(--color-surface-raised);
}

.admin-table td{
  color:var(--color-text);
}

.admin-form{
  max-width:680px;
}

.admin-form--wide{
  max-width:none;
}

.popup-form-layout{
  display:grid;
  grid-template-columns:minmax(0,680px) minmax(260px,1fr);
  gap:24px;
  align-items:start;
}

.popup-preview-panel h2{
  margin-top:0;
}

.popup-preview-stage{
  padding:24px;
  border:1px solid var(--color-border);
  border-radius:10px;
  background:var(--color-surface);
}

.popup-preview-card{
  max-width:520px;
  margin:0 auto;
}

.popup-preview-card .popup-close{
  cursor:default;
}

.popup-preview-card .popup-text-top[hidden],
.popup-preview-card .popup-text-bottom[hidden],
.popup-preview-card .popup-image-wrap[hidden]{
  display:none;
}

.popup-preview-card a{
  color:inherit;
  text-decoration:inherit;
}

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

.form-row{
  margin-bottom:16px;
}

.form-row input,
.form-row select,
.form-row textarea,
.popup-email-form input{
  width:100%;
  padding:8px 10px;
  border:1px solid var(--color-button-border);
  border-radius:4px;
  background:var(--color-surface-raised);
  color:var(--color-text);
}

.form-row input:hover,
.form-row select:hover,
.form-row textarea:hover,
.popup-email-form input:hover{
  border-color:var(--color-active);
}

.currency-field{
  position:relative;
  display:block;
}

.currency-field-symbol{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  color:var(--color-text-tertiary);
  pointer-events:none;
}

.currency-field input{
  padding-left:24px;
}

.form-row input[type="checkbox"]{
  width:auto;
  padding:0;
  border:0;
  accent-color:var(--color-active);
}

.form-row input[type="color"]{
  width:48px;
  min-width:48px;
}

.form-row--inline-color{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:6px 16px;
  align-items:center;
}

.form-row--inline-color .inline-color-control{
  display:block;
}

.form-row--inline-color .inline-color-control span{
  display:block;
}

.inline-color-inputs{
  display:flex;
  align-items:center;
  gap:10px;
  justify-self:end;
}

.inline-color-inputs input[type="color"]{
  flex:0 0 auto;
}

.inline-color-inputs input[type="text"]{
  width:112px;
  min-width:112px;
  text-transform:uppercase;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.inline-color-inputs input[type="text"].is-invalid{
  border-color:var(--color-error, #B85C5C);
}

.form-row--inline-color > .muted{
  grid-column:1 / -1;
}

.inline-option{
  margin-left:12px;
}

.form-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.merch-edit-actions form{
  margin:0;
}

.event-fields{
  margin-bottom:16px;
  padding:16px;
  border:1px solid var(--color-border);
  border-radius:6px;
  background:var(--color-surface);
}

.publish-fields{
  margin-bottom:16px;
}

.muted{
  color:var(--color-text-tertiary);
}

.muted.site-meta-text{
  color:var(--type-metaText-color);
}

.info-message,
.error-message{
  padding:12px;
  border:1px solid var(--color-button-border);
  border-radius:6px;
  margin:0 0 16px;
  background:var(--color-surface);
}

.info-message{
  color:var(--color-text-secondary);
}

.error-message{
  border-color:rgba(154,111,111,0.55);
  color:var(--color-danger);
  background:var(--color-danger-bg);
}

.popup-email-form .error-message{
  text-align:left;
}

.contact-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.contact-form{
  margin-top:24px;
}

.launch-status-panel{
  margin:0 0 16px;
  padding:16px;
  border:1px solid var(--color-border);
  border-radius:6px;
  background:var(--color-surface);
}

.launch-status-panel p{
  margin:0 0 10px;
}

.launch-status-panel p:last-child{
  margin-bottom:0;
}

.maintenance-page{
  min-height:100vh;
  margin:0;
  background:#050505;
  color:#f2ede2;
}

.maintenance-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}

.maintenance-card{
  width:min(100%, 620px);
  padding:40px 32px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:18px;
  background:rgba(255,255,255,0.03);
  box-shadow:0 30px 80px rgba(0,0,0,0.4);
}

.maintenance-eyebrow{
  margin:0 0 16px;
  font-size:0.76rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(242,237,226,0.72);
}

.maintenance-card h1{
  margin:0 0 18px;
  font-size:clamp(2rem, 5vw, 3.2rem);
  line-height:1.05;
  color:#fff;
}

.maintenance-copy{
  margin:0 0 14px;
  max-width:34rem;
  color:rgba(242,237,226,0.84);
}

.maintenance-copy a,
.maintenance-links a{
  color:#fff;
}

.maintenance-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.maintenance-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  text-decoration:none;
  background:rgba(255,255,255,0.04);
  transition:background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.maintenance-links a:hover,
.maintenance-links a:focus-visible{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.28);
  transform:translateY(-1px);
}

.page-drag-cell{
  width:1%;
  white-space:nowrap;
}

.page-order-cell{
  white-space:nowrap;
  color:var(--color-text-secondary);
}

.drag-handle{
  cursor:grab;
}

#pages-table-body tr.is-dragging,
#merch-table-body tr.is-dragging,
.gallery-admin-card.is-dragging{
  opacity:0.5;
}

.merch-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
}

.merch-card{
  border:1px solid var(--color-border);
  border-radius:10px;
  overflow:hidden;
  background:var(--color-surface);
}

.merch-card-image{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  background:var(--color-surface-raised);
}

.merch-card-body{
  padding:16px;
}

.merch-card-body .site-show-name{
  margin:0 0 8px;
}

.merch-card-body .site-show-name a{
  color:inherit;
}

.merch-card-body .site-show-name a:hover{
  color:inherit;
}

.merch-price{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.images-page-intro{
  white-space:pre-line;
  max-width:72ch;
}

.images-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:22px;
}

.images-gallery-trigger{
  display:block;
  width:100%;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--color-border);
  border-radius:14px;
  overflow:hidden;
  background:var(--color-surface-raised);
  box-shadow:var(--shadow-raised);
  text-align:left;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.images-gallery-trigger:hover,
.images-gallery-trigger:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(203,184,154,0.45);
  box-shadow:0 22px 44px rgba(0,0,0,0.55);
}

.images-gallery-media{
  position:relative;
  display:block;
  width:100%;
  padding-top:100%;
  overflow:hidden;
}

.images-gallery-thumb{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:linear-gradient(180deg, rgba(17,17,17,0.95), rgba(10,10,10,1));
}

.images-gallery-chip{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  display:block;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(8,8,8,0.72);
  color:var(--color-text);
  font-size:0.82rem;
  line-height:1.2;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  backdrop-filter:blur(10px);
}

.images-empty-state{
  padding:28px;
  border:1px solid var(--color-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(17,17,17,0.95), rgba(10,10,10,1));
}

.images-empty-state .site-section-heading{
  margin:0;
}

.images-lightbox{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.images-lightbox[hidden]{
  display:none;
}

.is-lightbox-open{
  overflow:hidden;
}

.images-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.82);
  backdrop-filter:blur(8px);
}

.images-lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(1100px, 100%);
  max-height:min(92vh, 980px);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  gap:18px;
  padding:18px;
  border:1px solid rgba(203,184,154,0.22);
  border-radius:18px;
  background:rgba(8,8,8,0.96);
  box-shadow:0 36px 72px rgba(0,0,0,0.55);
}

.images-lightbox-toolbar{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.images-lightbox-media{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.images-lightbox-frame{
  position:relative;
  width:min(100%, 960px, calc(68vh * var(--images-lightbox-aspect, 1.3333)));
  max-height:68vh;
  aspect-ratio:4 / 3;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:12px;
  background:#050505;
}

.images-lightbox-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(18,18,18,0.92), rgba(8,8,8,0.98));
  opacity:0;
  transition:opacity 180ms ease;
}

.images-lightbox-frame.is-loading::after{
  opacity:1;
}

.images-lightbox-spinner{
  position:absolute;
  z-index:1;
  width:38px;
  height:38px;
  border:3px solid rgba(203,184,154,0.22);
  border-top-color:rgba(203,184,154,0.95);
  border-radius:999px;
  opacity:0;
  transition:opacity 180ms ease;
  animation:images-lightbox-spin 0.9s linear infinite;
}

.images-lightbox-frame.is-loading .images-lightbox-spinner{
  opacity:1;
}

.images-lightbox-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:12px;
  opacity:0;
  transition:opacity 200ms ease;
}

.images-lightbox-frame.is-loaded img{
  opacity:1;
}

.images-lightbox-copy{
  min-height:0;
}

.images-lightbox-copy .site-show-name{
  margin:0;
}

.gallery-upload-panel{
  display:grid;
  gap:12px;
}

.gallery-pool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}

.gallery-pool-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--color-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(18,18,18,0.96), rgba(10,10,10,1));
}

.gallery-pool-card--selectable{
  cursor:pointer;
}

.gallery-pool-thumb{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:12px;
  background:rgba(8,8,8,0.96);
}

.gallery-pool-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.gallery-pool-copy{
  display:grid;
  gap:6px;
}

.gallery-pool-select{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--color-text-secondary);
}

.gallery-admin-empty-state{
  padding:22px;
  border:1px dashed rgba(203,184,154,0.24);
  border-radius:14px;
  background:rgba(17,17,17,0.75);
}

.gallery-admin-shell{
  display:grid;
  gap:18px;
}

.gallery-admin-picker{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(132px, 1fr));
  gap:12px;
}

.gallery-admin-picker-item{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:rgba(12,12,12,0.94);
  text-align:left;
  transition:border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.gallery-admin-picker-item[data-included="true"]{
  border-color:rgba(203,184,154,0.3);
}

.gallery-admin-picker-item:hover,
.gallery-admin-picker-item:focus-visible,
.gallery-admin-picker-item.is-active{
  border-color:rgba(203,184,154,0.55);
  box-shadow:0 16px 28px rgba(0,0,0,0.32);
  transform:translateY(-1px);
}

.gallery-admin-picker-thumb{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:10px;
  background:rgba(8,8,8,0.96);
}

.gallery-admin-picker-counter{
  position:absolute;
  top:8px;
  left:8px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(12,12,12,0.86);
  border:1px solid rgba(203,184,154,0.36);
  color:rgba(244,238,228,0.96);
  font-size:0.8rem;
  font-weight:600;
}

.gallery-admin-picker-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.gallery-admin-picker-label{
  display:block;
  min-width:0;
  color:var(--color-text);
  font-size:0.88rem;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gallery-admin-picker-copy{
  display:grid;
  gap:6px;
}

.gallery-admin-picker-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:var(--color-text-secondary);
  font-size:0.78rem;
}

.gallery-admin-picker-order{
  min-height:1em;
  color:rgba(203,184,154,0.9);
}

.gallery-admin-editor{
  display:grid;
  gap:18px;
  padding:18px;
  border:1px solid var(--color-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(18,18,18,0.96), rgba(10,10,10,1));
}

.gallery-admin-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.gallery-admin-card-order{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.gallery-admin-selected-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(203,184,154,0.12);
  border:1px solid rgba(203,184,154,0.3);
  color:rgba(244,238,228,0.96);
  font-size:0.95rem;
  font-weight:600;
}

.gallery-admin-selected-counter.is-pool-only{
  min-width:auto;
  padding:0 12px;
  font-size:0.78rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.gallery-admin-move-controls{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.gallery-admin-move-order{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(203,184,154,0.12);
  border:1px solid rgba(203,184,154,0.3);
  color:rgba(244,238,228,0.96);
  font-size:0.88rem;
  font-weight:600;
}

.gallery-admin-move-order.is-pool-only{
  min-width:auto;
  font-size:0.76rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.gallery-admin-move-controls button[disabled]{
  opacity:0.45;
}

.gallery-admin-move-controls button:not([disabled]){
  cursor:pointer;
}

.gallery-admin-card-grid{
  display:grid;
  grid-template-columns:minmax(220px, 280px) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}

.gallery-admin-preview-stack{
  display:grid;
  gap:12px;
}

.gallery-admin-source-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:180px;
  padding:14px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:rgba(8,8,8,0.92);
}

.gallery-admin-source-preview img{
  display:block;
  max-width:100%;
  max-height:220px;
  width:auto;
  height:auto;
}

.gallery-admin-thumb-preview{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border:1px solid rgba(203,184,154,0.24);
  border-radius:14px;
  background:rgba(8,8,8,0.96);
}

.gallery-admin-thumb-preview img{
  position:absolute;
  max-width:none;
  max-height:none;
}

.gallery-admin-fields{
  display:grid;
  gap:16px;
}

.gallery-admin-full-row{
  grid-column:1 / -1;
}

.gallery-admin-toggles{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:var(--color-text-secondary);
}

.gallery-admin-crop-controls{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

@media (max-width: 900px){
  .gallery-admin-card-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .gallery-admin-picker{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .gallery-admin-card-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .gallery-admin-crop-controls{
    grid-template-columns:1fr;
  }
}

@keyframes images-lightbox-spin{
  to{
    transform:rotate(360deg);
  }
}

.merch-compare-price{
  text-decoration:line-through;
  color:var(--color-text-tertiary);
}

.merch-product-images{
  display:grid;
  gap:12px;
  margin:16px 0;
}

.merch-product-image{
  display:block;
  max-width:100%;
  border:1px solid var(--color-border);
  border-radius:8px;
  background:var(--color-surface-raised);
}

.merch-order-cell,
.merch-actions-cell{
  white-space:nowrap;
}

.merch-drag-handle{
  display:block;
  margin-top:4px;
}

.merch-purchase-fields[style*="display: none"],
.merch-inventory-count-row[style*="display: none"]{
  display:none !important;
}

.shows-list{
  display:grid;
  gap:20px;
}

.show-card{
  padding-bottom:20px;
  border-bottom:1px solid var(--color-divider-soft);
}

.show-card .site-show-name{
  margin:0 0 8px;
}

.site-show-name{
  margin:0;
  color:var(--type-showName-color);
  font-family:var(--type-showName-font);
  font-size:var(--type-showName-size);
  font-weight:var(--type-showName-weight);
  font-variation-settings:var(--type-showName-variation);
  letter-spacing:var(--font-heading-letter-spacing);
  line-height:1.2;
}

.site-show-date{
  margin:0;
  color:var(--type-showDate-color);
  font-family:var(--type-showDate-font);
  font-size:var(--type-showDate-size);
  font-weight:var(--type-showDate-weight);
  font-variation-settings:var(--type-showDate-variation);
  line-height:1.5;
}

.site-show-date strong{
  color:inherit;
}

.site-show-location{
  margin:0;
  color:var(--type-showLocation-color);
  font-family:var(--type-showLocation-font);
  font-size:var(--type-showLocation-size);
  font-weight:var(--type-showLocation-weight);
  font-variation-settings:var(--type-showLocation-variation);
  line-height:1.5;
}

.site-page-title + .site-body-text,
.site-page-title + .site-meta-text,
.site-page-title + .site-show-name,
.site-page-title + .site-show-date,
.site-page-title + .shows-list,
.site-page-title + .merch-grid,
.site-page-title + .home-layout,
.site-page-title + .images-gallery-grid,
.site-page-title + .images-empty-state,
.site-section-heading + .site-subheading,
.site-subheading + .site-body-text,
.site-show-name + .site-show-date,
.site-show-name + .site-show-location,
.site-show-date + .site-show-location,
.site-show-date + .site-body-text,
.site-show-location + .site-body-text,
.site-body-text + .site-body-text,
.site-body-text + .site-meta-text,
.site-meta-text + .site-body-text,
.site-meta-text + .site-meta-text{
  margin-top:12px;
}

.popup-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,0.72);
  z-index:20;
}

.popup-overlay[hidden]{
  display:none;
}

.site-popup{
  position:relative;
  max-width:520px;
  width:100%;
  padding:24px;
  border-radius:10px;
  background:var(--color-surface-raised);
  border:1px solid var(--color-button-border);
  box-shadow:var(--shadow-raised);
  text-align:center;
}

.popup-close{
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border-radius:999px;
  font-size:1.2rem;
  line-height:1;
}

.popup-image-wrap{
  margin:16px 0;
}

.popup-image{
  max-width:100%;
  height:auto;
}

.popup-text-top,
.popup-text-bottom,
.popup-actions{
  margin:12px 0;
}

.popup-email-form p{
  margin:12px 0;
}

.simple-list{
  padding-left:20px;
}

.settings-hub-grid{
  display:grid;
  gap:18px;
}

@media (min-width: 860px){
  .settings-hub-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

.settings-hub-card{
  display:block;
  padding:22px;
  border:1px solid var(--color-border);
  background:var(--color-surface);
  color:var(--color-text);
  text-decoration:none;
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.settings-hub-card:hover,
.settings-hub-card:focus-visible{
  border-color:var(--color-link);
  background:var(--color-surface-raised);
  color:var(--color-text);
  transform:translateY(-1px);
}

.settings-hub-card h2{
  margin:0 0 8px;
}

.settings-hub-card p{
  margin:0;
  color:var(--color-text-secondary);
}

.branding-settings-grid{
  display:grid;
  gap:24px;
}

@media (min-width: 980px){
  .branding-settings-grid{
    grid-template-columns:minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items:start;
  }
}

.branding-preview-panel{
  border:1px solid var(--color-border);
  background:var(--color-surface);
  padding:20px;
}

.site-design-layout{
  display:block;
}

.site-design-preview-panel{
  position:sticky;
  top:16px;
  z-index:10;
  margin-bottom:24px;
  box-shadow:0 14px 34px rgba(0, 0, 0, 0.28);
}

.site-design-preview-panel--top{
  width:100%;
}

.design-page-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
}

.design-page-tools--stacked{
  flex-direction:column;
  align-items:flex-end;
}

.design-page-tools > button,
.design-page-tools > .button-link{
  height:46px;
}

.site-design-controls{
  display:grid;
  gap:20px;
}

.site-design-form{
  display:grid;
  gap:20px;
}

.branding-preview-panel h3{
  margin-top:0;
}

.branding-preview-panel h2{
  margin:0 0 10px;
}

.branding-preview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:16px;
}

.branding-preview-status{
  margin:0 0 16px;
}

.preview-background-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}

.input-with-unit{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.input-with-unit input[type="number"]{
  width:120px;
}

.input-with-unit span{
  color:var(--color-text-secondary);
}

.branding-preview-stage{
  border:1px solid var(--color-border);
  background:var(--color-surface-raised);
  --font-nav:var(--font-nav);
  --font-heading:var(--font-heading);
  --font-body:var(--font-body);
  --font-nav-weight:var(--font-nav-weight);
  --font-heading-weight:var(--font-heading-weight);
  --font-nav-letter-spacing:var(--font-nav-letter-spacing);
  --font-heading-letter-spacing:var(--font-heading-letter-spacing);
  font-family:var(--font-body);
}

.site-design-preview-stage{
  padding:24px;
  max-width:900px;
  margin:0 auto;
}

.branding-preview-stage .preview-header-row{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:18px;
}

.branding-preview-stage .preview-nav{
  flex:1 1 auto;
}

.site-design-preview-copy{
  display:grid;
  gap:14px;
  margin-top:28px;
}

.site-design-preview-copy--text-only{
  margin-top:0;
}

.site-design-preview-footer{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--color-divider-soft);
}

.preview-show-card--solo{
  max-width:520px;
  margin:0 auto;
}

.branding-preview-stage .preview-brand-text{
  font-family:var(--font-heading);
  font-weight:var(--font-heading-weight);
  font-variation-settings:var(--font-heading-variation-settings);
  letter-spacing:var(--font-heading-letter-spacing);
}

.branding-preview-section{
  border-top:1px solid var(--color-divider-soft);
  padding:18px 20px;
}

.branding-preview-section:first-of-type{
  border-top:0;
}

.branding-preview-logo-controls{
  display:grid;
  gap:12px;
}

.branding-preview-stage .preview-brand{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  line-height:0;
}

.branding-preview-stage .preview-brand-logo{
  display:block;
  height:var(--logo-height);
  width:auto;
  max-width:min(640px, 80vw);
  max-height:none;
  object-fit:contain;
  transform:translate(var(--logo-horizontal-offset), var(--logo-offset));
}

.preview-brand-text{
  color:var(--color-text);
  font-size:1.25rem;
  line-height:1.1;
}

.branding-upload-status{
  min-height:1.5em;
}

.branding-upload-status[data-state="error"]{
  color:var(--color-danger);
}

.branding-upload-status[data-state="success"]{
  color:var(--color-success);
}

.typography-actions{
  margin:12px 0 18px;
}

.typography-role-grid{
  display:grid;
  gap:20px;
}

.typography-role-card{
  padding:20px;
  border:1px solid var(--color-border);
  background:var(--color-surface-raised);
}

.typography-role-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.typography-role-header h2{
  margin:0 0 6px;
}

.typography-preview-lab{
  margin-bottom:24px;
}

.site-design-layout,
.site-design-controls,
.site-design-preview-panel{
  overflow:visible;
}

.typography-text-role-grid{
  display:grid;
  gap:16px;
}

.typography-text-role-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.6fr) auto;
  gap:16px;
  align-items:start;
  padding-top:14px;
  border-top:1px solid var(--color-divider-soft);
}

.typography-text-role-row:first-child{
  padding-top:0;
  border-top:0;
}

.typography-text-role-controls{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.typography-text-role-hex{
  margin:10px 0 14px;
}

.typography-text-role-hex-input{
  width:96px;
  min-width:96px;
  text-transform:uppercase;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.typography-text-role-hex-input.is-invalid{
  border-color:var(--color-error, #B85C5C);
}

.typography-axis-list{
  display:grid;
  gap:14px;
}

.typography-axis-row{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(220px, 1fr) auto;
  gap:16px;
  align-items:center;
  padding-top:14px;
  border-top:1px solid var(--color-divider-soft);
}

.typography-axis-row:first-child{
  border-top:0;
  padding-top:0;
}

.typography-axis-title{
  margin-bottom:4px;
}

.typography-axis-control input[type="range"],
.typography-axis-control select{
  width:100%;
}

.typography-axis-actions{
  display:flex;
  justify-content:flex-end;
}

.custom-fonts-grid{
  align-items:start;
}

.custom-font-staged-list{
  margin:8px 0 0;
  padding-left:18px;
}

.custom-font-upload-status{
  min-height:1.5em;
}

.custom-font-upload-status[data-state="error"]{
  color:var(--color-danger);
}

.custom-font-settings-actions{
  margin:14px 0;
}

.custom-fonts-table code{
  font-size:0.85rem;
}

.custom-font-actions{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  align-items:center;
}

.custom-font-actions .admin-inline-form{
  margin:0;
}

.custom-font-sample-input-row{
  max-width:560px;
}

.custom-font-sample{
  min-width:220px;
  font-size:1.1rem;
  line-height:1.25;
  color:var(--color-text);
}

.custom-fonts-table td:last-child{
  white-space:nowrap;
}

.preview-intro{
  margin-bottom:24px;
}

.preview-grid{
  display:grid;
  gap:24px;
}

.preview-grid-typography{
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  align-items:start;
}

.preview-card{
  border:1px solid var(--color-border);
  background:var(--color-surface);
  padding:20px;
}

.preview-type-card{
  font-family:var(--preview-font), system-ui, sans-serif;
}

.preview-card-head{
  margin-bottom:16px;
}

.preview-card-head h2{
  margin:0 0 6px;
  font-family:inherit;
  font-weight:600;
}

.preview-card-head p{
  margin:0;
}

.preview-weight-study{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:16px;
}

.preview-weight-study span{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid var(--color-border);
  background:var(--color-surface-raised);
  color:var(--color-text-secondary);
  font-family:inherit;
}

.preview-system{
  display:grid;
  gap:18px;
}

.preview-system-section{
  border-top:1px solid var(--color-divider-soft);
  padding-top:16px;
}

.preview-system-section:first-child{
  border-top:0;
  padding-top:0;
}

.preview-system-label{
  margin-bottom:10px;
  color:var(--color-text-tertiary);
  font-size:0.85rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.preview-site-header{
  border:1px solid var(--color-border);
  position:relative;
  overflow:hidden;
  background:var(--header-shell-background, var(--color-surface-raised));
}

.preview-site-footer{
  border:1px solid var(--color-border);
  border-top:0;
  background:var(--footer-shell-background, var(--color-surface-raised));
}

.preview-site-header--grid::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(216, 208, 194, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(216, 208, 194, 0.06) 1px, transparent 1px);
  background-size:10px 10px;
}

.preview-header-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  min-height:max(0px, calc(var(--site-header-height) - clamp(12px, calc(var(--site-header-height) * 0.22), 36px) - clamp(8px, calc(var(--site-header-height) * 0.12), 16px)));
  padding:clamp(12px, calc(var(--site-header-height) * 0.22), 36px) 24px clamp(8px, calc(var(--site-header-height) * 0.12), 16px);
  font-family:inherit;
  position:relative;
  z-index:1;
}

.preview-footer-row{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:max(0px, calc(var(--site-footer-height) - clamp(4px, calc(var(--site-footer-height) * 0.16), 12px) - clamp(4px, calc(var(--site-footer-height) * 0.16), 12px)));
  padding:clamp(4px, calc(var(--site-footer-height) * 0.16), 12px) 24px;
  color:var(--color-text-tertiary);
}

.preview-brand{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  line-height:0;
}

.preview-brand-logo{
  display:block;
  width:auto;
  height:var(--logo-height);
  max-width:min(640px, 80vw);
  max-height:none;
  object-fit:contain;
  transform:translate(var(--logo-horizontal-offset), var(--logo-offset));
}

.preview-nav{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  min-width:0;
  gap:6px var(--nav-link-gap);
  color:var(--color-nav-link);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  transform:translateY(var(--nav-text-offset));
}

.preview-header-row.is-nav-wrapped{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  justify-items:center;
  gap:14px;
}

.preview-header-row.is-nav-wrapped .preview-brand{
  justify-self:center;
  transform:translateX(calc(var(--logo-horizontal-offset) * -1));
}

.preview-header-row.is-nav-wrapped .preview-nav{
  width:100%;
  justify-content:center;
}

.preview-nav .preview-nav-item{
  color:var(--nav-link-color-effective, var(--color-nav-link));
  -webkit-text-fill-color:var(--nav-link-fill-effective, var(--color-nav-link));
  font-palette:var(--nav-font-palette-link, normal);
  opacity:1;
  font-family:var(--font-nav);
  font-size:var(--font-nav-size);
  font-weight:var(--font-nav-weight);
  font-variation-settings:var(--font-nav-variation-settings);
  letter-spacing:var(--font-nav-letter-spacing);
  line-height:1.2;
}

.preview-heading-stack .site-page-title,
.preview-heading-stack .site-section-heading,
.preview-heading-stack .site-subheading{
  margin:0;
}

.preview-heading-stack .site-page-title{
  margin-top:0;
}

.preview-heading-stack .site-section-heading{
  margin-top:12px;
}

.preview-heading-stack .site-subheading{
  margin-top:10px;
}

.preview-show-card{
  border:1px solid var(--color-border);
  background:var(--color-surface-raised);
  padding:16px;
}

.preview-show-card .site-show-name{
  margin:0 0 6px;
}

.preview-show-meta.site-show-date{
  margin:0 0 4px;
}

.preview-show-location.site-show-location{
  margin:0;
}

.preview-body-copy.site-body-text{
  margin:0;
}

.preview-metadata-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.preview-metadata-list .site-meta-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 10px;
  margin-top:0;
  border:1px solid var(--color-border);
  background:var(--color-surface-raised);
  letter-spacing:0.04em;
  line-height:1;
  white-space:nowrap;
  text-transform:uppercase;
}

.preview-notes{
  margin-top:28px;
}

hr{
  border:0;
  border-top:1px solid var(--color-divider-soft);
}

small{
  color:var(--color-text-tertiary);
}

strong{
  color:var(--color-text);
}

@media (max-width: 700px){
  .admin-toolbar,
  .form-grid,
  .toolbar-actions,
  .popup-form-layout{
    display:block;
  }

  .brand-logo{
    height:max(24px, calc(var(--logo-height) * 0.85));
    max-width:min(420px, 80vw);
  }

  .site-header .wrap{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    justify-items:center;
    min-height:max(0px, calc(var(--site-header-height) - clamp(10px, calc(var(--site-header-height) * 0.18), 24px) - clamp(8px, calc(var(--site-header-height) * 0.12), 18px)));
    padding-top:clamp(10px, calc(var(--site-header-height) * 0.18), 24px);
    padding-bottom:clamp(8px, calc(var(--site-header-height) * 0.12), 18px);
    gap:14px;
  }

  .brand{
    transform:translateX(calc(var(--logo-horizontal-offset) * -1));
  }

  .site-nav{
    width:100%;
    justify-content:center;
    gap:6px var(--nav-link-gap);
  }

  .images-gallery-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
  }

  .images-lightbox{
    padding:12px;
  }

  .images-lightbox-dialog{
    gap:14px;
    padding:14px;
  }

  .images-lightbox-toolbar{
    flex-wrap:wrap;
    justify-content:space-between;
  }

  .images-lightbox-media img{
    max-height:56vh;
  }

  .social-link-settings-row{
    grid-template-columns:1fr;
    align-items:start;
  }

  .gallery-admin-card-grid{
    grid-template-columns:1fr;
  }

  .gallery-admin-crop-controls{
    grid-template-columns:1fr;
  }

  .site-nav a,
  .site-nav a:link,
  .site-nav a:visited{
    margin-right:0;
  }

  .button-link{
    margin-top:12px;
  }

  .toolbar-actions .button-link:first-child{
    margin-top:0;
  }

  .popup-preview-panel{
    margin-top:24px;
  }

  .merch-actions-cell form{
    display:block !important;
    margin:8px 0 0 !important;
  }

  .preview-card{
    padding:16px;
  }

  .branding-preview-section{
    padding:16px;
  }

  .preview-header-row{
    display:block;
    padding-top:30px;
    padding-bottom:18px;
  }

  .preview-brand{
    margin-bottom:16px;
    transform:translateX(calc(var(--logo-horizontal-offset) * -1));
  }

  .preview-brand-logo{
    max-width:min(420px, 80vw);
    max-height:none;
  }

  .branding-preview-stage .preview-brand-logo{
    height:max(24px, calc(var(--logo-height) * 0.85));
    max-width:min(420px, 80vw);
    max-height:none;
  }

  .typography-role-header{
    display:block;
  }

  .typography-text-role-row,
  .typography-axis-row{
    grid-template-columns:1fr;
  }

  .typography-text-role-controls{
    grid-template-columns:1fr;
  }

  .typography-text-role-controls,
  .typography-axis-control,
  .typography-axis-actions{
    margin-top:10px;
  }

  .preview-nav{
    justify-content:flex-end;
  }

  .preview-heading-stack .site-page-title{
    font-size:1.7rem;
  }

  .preview-heading-stack .site-section-heading{
    font-size:1.3rem;
  }
}
