@font-face {
  font-family: Newsreader;
  src: url("/assets/newsreader.woff2");
}
@font-face {
  font-family: IBM;
  src: url("/assets/ibm-plex-sans.woff2");
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #f6f1e8;
  color: #18233a;
  font:
    16px IBM,
    sans-serif;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
a {
  color: inherit;
}
.shell {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  min-height: 100vh;
}
.rail {
  background: #3d1d30;
  color: #f8f2eb;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.brand {
  font:
    30px Newsreader,
    serif;
  letter-spacing: -0.04em;
}
.brand small {
  font: 14px IBM;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display: block;
  color: #cab9b8;
  margin-top: 6px;
}
.nav {
  display: grid;
  gap: 5px;
}
.nav button {
  border: 0;
  text-align: left;
  background: transparent;
  color: #ddcdd4;
  padding: 12px;
  border-radius: 8px;
}
.nav button:hover,
.nav button.active {
  background: #654055;
  color: #fff;
}
.rail-bottom {
  margin-top: auto;
  border-top: 1px solid #75556a;
  padding: 20px 10px 0;
  color: #d3bcc7;
  font-size: 14px;
  line-height: 1.7;
}
.main {
  min-width: 0;
}
.previewbar {
  background: #e9e0d3;
  color: #604c43;
  padding: 9px 32px;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
}
.content {
  padding: 36px clamp(20px, 4vw, 58px) 70px;
  width: 100%;
  min-width: 0;
  container: content / inline-size;
}
.topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 14px;
  color: #967c5e;
  font-weight: bold;
}
.pagehead {
  margin: 22px 0 28px;
}
.pagehead h1,
.auth h1 {
  font:
    48px/1 Newsreader,
    serif;
  font-weight: 400;
  letter-spacing: -0.035em;
  margin: 8px 0;
}
.pagehead p,
.muted {
  color: #6d6a69;
  line-height: 1.6;
}
.button,
.primary,
.secondary,
.ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  border-radius: 5px;
  border: 1px solid #ded5ca;
  background: #fff;
  color: #4f263d;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
}
.primary {
  background: #4f263d;
  border-color: #4f263d;
  color: white;
}
.secondary {
  background: #fff;
}
.ghost {
  background: transparent;
}
.danger {
  color: #9a3d3d;
}
.grid {
  display: grid;
  gap: 18px;
}
.cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.card {
  min-width: 0;
  background: #fefdfb;
  border: 1px solid #e9e2d9;
  border-radius: 10px;
  padding: 22px;
  box-shadow: 0 8px 25px #49351b08;
}
.card h2,
.card h3 {
  font:
    26px Newsreader,
    serif;
  font-weight: 400;
  margin: 0 0 10px;
}
.stat strong {
  font:
    40px Newsreader,
    serif;
  display: block;
  margin: 14px 0 4px;
}
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.section-head h2 {
  margin: 0;
}
.row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.between {
  justify-content: space-between;
}
.stack {
  display: grid;
  gap: 14px;
}
.field {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.field span,
label {
  font-size: 14px;
  font-weight: bold;
  color: #675f5d;
  letter-spacing: 0.025em;
}
input,
select,
textarea {
  width: 100%;
  border: 1px solid #ded6cd;
  background: #fff;
  border-radius: 5px;
  padding: 10px 11px;
  color: #18233a;
  min-height: 39px;
}
textarea {
  resize: vertical;
  min-height: 75px;
}
input[type="checkbox"] {
  width: auto;
  min-height: 0;
  accent-color: #4f263d;
}
.check {
  display: flex;
  align-items: center;
  gap: 8px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.form-grid .wide {
  grid-column: 1/-1;
}
.badge {
  display: inline-block;
  background: #f0e9df;
  color: #735c51;
  border-radius: 20px;
  padding: 5px 9px;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.badge.good {
  background: #e2eee4;
  color: #386348;
}
.notice {
  padding: 12px 15px;
  border-radius: 5px;
  margin-bottom: 18px;
  background: #ece4d8;
  color: #594a43;
}
#monthly-preview {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.notice.error {
  background: #fae8e6;
  color: #963b38;
}
.list {
  display: grid;
}
.list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 15px 0;
  border-bottom: 1px solid #eee8e1;
}
.list-item:last-child {
  border: 0;
}
.list-item strong {
  display: block;
}
.list-item small {
  display: block;
  color: #827b76;
  margin-top: 4px;
}
.composer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.tabs {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  padding-bottom: 10px;
}
.tabs button {
  white-space: normal;
  border: 1px solid #e5ddd4;
  border-radius: 5px;
  background: #fff;
  padding: 8px 10px;
  font-size: 14px;
  color: #6b6160;
}
.tabs button.active {
  background: #4f263d;
  color: #fff;
  border-color: #4f263d;
}
.art-wrap {
  background: #eee8df;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  min-height: 300px;
  border-radius: 6px;
  overflow: hidden;
}
.art-wrap canvas {
  display: block;
  max-width: 100%;
  max-height: 460px;
  width: auto;
  height: auto;
  box-shadow: 0 8px 25px #3d1d3022;
}
.art-placeholder {
  text-align: center;
  padding: 55px;
  color: #867d75;
}
.split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.divider {
  height: 1px;
  background: #eee7de;
  margin: 20px 0;
}
.auth-wrap {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fefdfb;
}
.auth {
  max-width: 440px;
  width: 100%;
  margin: auto;
  padding: 40px;
}
.auth h1 {
  font-size: 42px;
}
.loading {
  padding: 60px;
  color: #4f263d;
}
.toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #3d1d30;
  color: white;
  padding: 14px 20px;
  border-radius: 6px;
  z-index: 3;
  box-shadow: 0 5px 20px #0003;
}
.preview-site {
  background: #fefdfb;
  min-height: 100vh;
}
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 23px 6%;
  border-bottom: 1px solid #eee;
}
.site-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 570px;
}
.site-copy {
  padding: clamp(30px, 7vw, 100px);
  align-self: center;
}
.site-copy h1 {
  font: clamp(42px, 5vw, 72px) / 1 Newsreader;
  margin: 15px 0;
}
.site-photo {
  background: url("/assets/shoshana.webp") center/cover;
}
.site-body {
  padding: 60px 8%;
  max-width: 1100px;
  margin: auto;
}
.site-body h2 {
  font: 40px Newsreader;
}
.small {
  font-size: 14px;
}
.full {
  width: 100%;
}
@media (max-width: 1000px) {
  .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 700px) {
  .shell {
    display: block;
  }
  .rail {
    padding: 16px;
    gap: 15px;
  }
  .brand {
    font-size: 24px;
  }
  .nav {
    display: flex;
    flex-wrap: wrap;
  }
  .nav button {
    white-space: normal;
  }
  .rail-bottom {
    margin-top: 0;
    padding: 12px 0 0;
  }
  .previewbar {
    padding: 9px 16px;
  }
  .content {
    padding: 25px 16px 50px;
  }
  .pagehead h1 {
    font-size: 39px;
  }
  .cards,
  .split,
  .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .form-grid .wide {
    grid-column: auto;
  }
  .auth-wrap {
    display: block;
  }
  .site-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .site-photo {
    min-height: 320px;
    grid-row: 1;
  }
  .topline {
    align-items: flex-start;
  }
  .list-item {
    align-items: flex-start;
  }
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
}
.media-choice {
  display: grid;
  gap: 6px;
  border: 1px solid #e5ddd4;
  border-radius: 6px;
  padding: 6px;
  overflow: hidden;
}
.media-choice img {
  width: 100%;
  height: 90px;
  object-fit: contain;
  background: #f2e9e2;
  border-radius: 3px;
}
.media-choice span {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  overflow-wrap: anywhere;
}
.media-choice input {
  flex: none;
  margin-top: 2px;
}
button[aria-busy="true"] {
  cursor: progress;
  opacity: 0.6;
}
.busy-indicator {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #3d1d30;
  color: white;
  padding: 12px 18px;
  border-radius: 6px;
  z-index: 4;
  box-shadow: 0 5px 20px #0003;
}

/* Portal usability */
.auth-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eee5dc;
}
.auth {
  background: #fefdfb;
  border: 1px solid #e1d6cc;
  border-radius: 10px;
  padding: 40px;
}
button {
  font-size: 14px;
}
input,
select,
textarea {
  font-size: 16px;
}
.field span,
label,
.small,
.badge,
.eyebrow,
small {
  font-size: 14px;
}
.formats {
  border: 1px solid #ded6cd;
  border-radius: 6px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 0 0 14px;
  padding: 14px;
}
.formats legend {
  font-weight: bold;
}
.info {
  border: 1px solid #e3dacf;
  background: #faf7f2;
  border-radius: 5px;
  padding: 10px;
  margin: 10px 0;
}
.info summary {
  cursor: pointer;
  color: #4f263d;
  font-weight: 600;
}
.info p {
  line-height: 1.5;
}
.review-box {
  border: 1px solid #e3dacf;
  border-radius: 6px;
  padding: 14px;
}
.busy-overlay {
  position: fixed;
  inset: 0;
  background: rgba(24, 18, 21, 0.68);
  display: grid;
  place-items: center;
  z-index: 100;
  padding: 20px;
}
.busy-indicator {
  position: static;
  background: #fff;
  color: #3d1d30;
  padding: 28px;
  max-width: 440px;
  width: 100%;
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
}
.preview-theme {
  padding: 12px 6%;
  background: #eee5dc;
}
.site-dark {
  background: #241520;
  color: #fff8ef;
}
.site-dark .site-header,
.site-dark .card {
  background: #3d1d30;
  color: #fff8ef;
}
.site-dark .muted,
.site-dark .small,
.site-dark .brand {
  color: #eaded6 !important;
}
.site-dark .list-item {
  border-color: #735767;
}
[data-theme][aria-pressed="true"],
[data-site-theme][aria-pressed="true"] {
  background: #4f263d;
  color: #fff;
}
@media (max-width: 700px) {
  .auth {
    margin: 20px;
    padding: 25px;
  }
  .busy-indicator {
    font-size: 16px;
  }
}

.busy-spinner {
  display: block;
  width: 36px;
  height: 36px;
  border: 4px solid #e5d8df;
  border-top-color: #4f263d;
  border-radius: 50%;
  margin: 0 auto 16px;
  animation: portal-spin 0.9s linear infinite;
}
.busy-indicator p {
  margin: 8px 0 0;
  font-size: 14px;
}
@keyframes portal-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .busy-spinner {
    animation: none;
  }
}
.preview-site.site-dark,
.preview-site.site-dark .site-hero,
.preview-site.site-dark .site-copy {
  background: #241520;
  color: #fff8ef;
}
.featured-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  margin-top: 14px;
}
.featured-standard {
  grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
}
.featured-portrait {
  grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
}
.featured-minimal {
  grid-template-columns: minmax(0, 64fr) minmax(0, 36fr);
}
@media (max-width: 700px) {
  .featured-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Layout responds to the space beside the rail, not just the browser width. */
.card {
  container: card / inline-size;
}
@container content (max-width: 850px) {
  .composer {
    grid-template-columns: minmax(0, 1fr);
  }
}
@container card (max-width: 440px) {
  .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .form-grid .wide {
    grid-column: auto;
  }
}
button,
.button,
input,
select,
textarea {
  min-width: 0;
  max-width: 100%;
}
button,
.button,
input:not([type="checkbox"]):not([type="radio"]),
select,
summary {
  min-height: 44px;
}
button,
.button,
.nav button {
  overflow-wrap: anywhere;
}
input[type="checkbox"],
input[type="radio"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  flex: none;
}
.check {
  min-height: 44px;
}
:focus-visible {
  outline: 3px solid #98557b;
  outline-offset: 3px;
}
.previewbar,
.topline,
.section-head,
.site-header,
.list-item {
  flex-wrap: wrap;
}
.previewbar {
  align-items: center;
  gap: 8px 16px;
}
.previewbar a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.eyebrow {
  color: #765c3f;
}
.list-item small {
  color: #68615d;
}
.card,
.list-item > *,
.section-head > *,
.topline > *,
.previewbar > *,
.site-header > * {
  min-width: 0;
  overflow-wrap: anywhere;
}
.formats {
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
  min-width: 0;
}
@media (max-width: 700px) {
  .nav button {
    flex: 1 1 135px;
  }
  .rail-bottom .ghost {
    min-height: 44px;
    color: #f8f2eb;
    border-color: #b69dab;
  }
  .site-header {
    gap: 12px;
  }
  .art-wrap {
    padding: 12px;
    min-height: 200px;
  }
  .toast {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
}

.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 110;
  transform: translateY(-160%);
  padding: 12px 16px;
  border-radius: 5px;
  background: #fff;
  color: #3d1d30;
  box-shadow: 0 3px 16px #0004;
}
.skip-link:focus {
  transform: translateY(0);
}
.photo-library .media-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr));
  gap: 16px;
}
.photo-card {
  min-width: 0;
  border: 1px solid #e5ddd4;
  border-radius: 6px;
  padding: 10px;
}
.photo-card a {
  display: block;
}
.photo-card img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: contain;
  background: #f2e9e2;
}
.photo-card p {
  overflow-wrap: anywhere;
}
.format-status {
  padding: 35px 16px;
}
.homepage-editor { margin: 18px 0; padding: 16px; background: #f6f1e8; border: 1px solid #e1d7cc; border-radius: 7px; }
.homepage-editor h3, .homepage-settings h3 { margin: 0 0 8px; }
.homepage-frame-wrap { width: 100%; max-width: 100%; margin: 14px auto 0; border: 1px solid #d9cfc5; background: #fefdfb; }
.homepage-frame-wrap.mobile { max-width: 390px; }
.homepage-frame-wrap iframe, #public-homepage { display: block; width: 100%; min-height: 400px; border: 0; }
.homepage-settings { display: grid; gap: 12px; border: 1px solid #e3dacf; padding: 14px; border-radius: 6px; }
[data-home-size][aria-pressed="true"] { background: #4f263d; color: #fff; }

/* Pricing: compact navigation and one retained draft editor. */
.pricing-tools { margin-bottom: 20px; }
.price-filter-grid { display:grid; grid-template-columns:minmax(200px,2fr) minmax(140px,1fr) minmax(170px,1fr) auto;gap:14px;align-items:end; }
.pricing-workspace { display:grid;grid-template-columns:minmax(240px,0.85fr) minmax(0,1.4fr);gap:20px;align-items:start; }
.price-browser { position:sticky;top:16px; }
.price-alphabet { display:flex;flex-wrap:wrap;gap:3px;margin:12px 0; }
.price-alphabet button { min-width:36px;min-height:44px;padding:4px;border:1px solid #ded6cd;background:#f6f1e8;border-radius:4px; }
.price-results { max-height:65vh;overflow-y:auto;overscroll-behavior:contain;scroll-padding:8px; }
.price-result { width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;border:0;border-top:1px solid #e5ddd4;background:transparent;padding:14px 10px;line-height:1.4;color:#18233a; }
.price-result > span { min-width:0;overflow-wrap:anywhere; }
.price-result small { display:block;font-size:14px;color:#675f5d;margin-top:5px; }
.price-result.active { background:#ede2e8;box-shadow:inset 4px 0 #4f263d; }
.price-result:focus-visible { outline-offset:-4px; }
.price-editor { scroll-margin:20px; }
.price-editor h2 { margin-top:12px; }
.price-site { padding:22px;background:#f6f1e8;color:#302530;border:1px solid #d9cec3;border-radius:6px; }
.price-site > p { font-size:14px;line-height:1.6; }
.price-site.dark { background:#291d26;color:#f9f2e8;border-color:#73596b; }
.pricing-site-row { display:flex;align-items:start;justify-content:space-between;gap:22px;padding:18px 0;border-bottom:1px solid #b9a99c;line-height:1.5; }
.pricing-site-row > div { min-width:0;overflow-wrap:anywhere; }
.pricing-site-row > strong { flex-shrink:0; }
.pricing-site-row p { margin:6px 0 0;white-space:pre-wrap;font-size:14px; }
.price-current { margin-top:20px;padding:14px;border:1px solid #ded6cd;border-radius:6px; }
#price-dialog { width:min(1000px,calc(100% - 24px));max-height:90vh;overflow:auto;background:#fffaf4;border:1px solid #c7b6a9;border-radius:10px;padding:24px;color:#18233a; }
#price-dialog::backdrop { background:#23121ccc; }
#price-dialog h2 { font:30px Newsreader,serif; }
@container content (max-width:1050px) { .price-filter-grid {grid-template-columns:1fr 1fr;} }
@container content (max-width:750px) { .pricing-workspace {grid-template-columns:minmax(0,1fr);} .price-browser {position:static;} .price-results {max-height:330px;} }
@container content (max-width:420px) { .price-filter-grid {grid-template-columns:minmax(0,1fr);} .pricing-site-row {flex-wrap:wrap;gap:8px;} .price-site {padding:14px;} }
.price-site.dark .eyebrow { color:#d7bd9d; }
.price-browser p { font-size:14px; }
@media (max-width:440px) { #price-dialog .pricing-site-row { flex-wrap:wrap;gap:8px; } }
.price-result > span:last-child { flex:0 0 auto;white-space:nowrap;font-size:14px; }
.deleted-photo-library { margin-top:28px;padding-top:20px;border-top:1px solid #ded6cd; }
.deleted-photo-library > summary { font-weight:600;cursor:pointer;min-height:44px; }
.deleted-photo-library .photo-card > img { display:block;width:100%;height:180px;object-fit:contain;background:#f2e9e2; }
.photo-usage { margin-bottom:12px;overflow-wrap:anywhere; }
.photo-usage ul { padding-left:20px; }
.photo-card > button { width:100%; }
.photo-folders { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0; }
.photo-folders [aria-pressed="true"] { background:#4f263d;color:white;border-color:#4f263d; }
.photo-card > .field { margin:12px 0; }
.photo-card select { max-width:100%;min-width:0; }

/* Keep library selection controls readable on narrow screens. */
.photo-bulk-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; margin:16px 0; border:1px solid var(--line, #d9ddd9); border-radius:12px; background:var(--paper, #f7f8f5); }
.photo-bulk-actions small { flex-basis:100%; }
.photo-select { padding:8px 0; }
.deleted-campaigns { margin-top:20px; }
@media(max-width:600px) { .photo-bulk-actions { align-items:stretch; } .photo-bulk-actions > label { flex-basis:100%; } .photo-bulk-actions > button { flex:1 1 145px; } }
.photo-preview-trigger { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; border-radius:6px; }
.photo-preview-trigger:focus-visible { outline:3px solid #79556b; outline-offset:3px; }
.photo-preview-dialog { width:min(1000px,calc(100vw - 24px)); max-width:1000px; max-height:90dvh; padding:18px; border:1px solid #d4c8bd; border-radius:10px; background:#fffdfa; color:#18233a; box-sizing:border-box; }
.photo-preview-dialog[open] { display:flex; flex-direction:column; overflow:auto; }
.photo-preview-dialog::backdrop { background:#17101dcc; }
.photo-preview-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; flex-shrink:0; }
.photo-preview-heading h2 { margin:0; font-size:22px; overflow-wrap:anywhere; min-width:0; }
.photo-preview-heading button { min-height:44px; flex-shrink:0; }
.photo-preview-dialog > p { margin:10px 0; flex-shrink:0; }
.photo-preview-dialog > img { width:100%; height:auto; min-height:0; flex:1 1 auto; object-fit:contain; background:#eee9e3; }
.delete-confirmation { max-width:520px; }
.delete-confirmation h2 { margin:0; }

/* Analytics puts acquisition and booking interest within one compact workspace. */
.analytics-workspace { display:grid; gap:18px; }
.analytics-header { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.analytics-header h1 { font:36px/1.1 Newsreader,serif; margin:0 0 5px; }
.analytics-header p { margin:0; font-size:14px; color:#6d6a69; }
.analytics-range { display:flex; align-items:end; gap:8px; flex-wrap:wrap; }
.analytics-range label { display:grid; gap:4px; font-size:12px; color:#6d6a69; }
.analytics-range input { padding:8px; width:142px; min-height:40px; }
.analytics-range .primary { min-height:40px; }
.analytics-range select { min-height:40px; padding:8px; font-size:13px; max-width:180px; }
.analytics-range [hidden] { display:none!important; }
.analytics-comparison-label { margin:-7px 0 0; font-size:11px; color:#80766e; line-height:1.5; }
.analytics-change { font-size:11px; font-weight:500; white-space:nowrap; margin:3px 0; }
.analytics-stat .analytics-change.positive,.analytics-change.positive { color:#39745b; }
.analytics-stat .analytics-change.negative,.analytics-change.negative { color:#9b5152; }
.analytics-stat .analytics-change.neutral,.analytics-change.neutral { color:#84776c; }
.analytics-secondary .analytics-change { display:inline; }
.analytics-table .analytics-change { display:block; }
.analytics-query-button { background:none; color:#54283f; border:0; padding:0; text-align:left; text-decoration:underline; text-underline-offset:3px; font:inherit; }
.analytics-query-button[aria-pressed="true"] { font-weight:600; }
.analytics-query-pages { border-left:3px solid #d2bccb; margin:16px 0; padding:0 0 0 16px; }
.analytics-query-pages h3 { font:500 15px IBM,sans-serif; margin:0; }
.analytics-search-discovery h2 { font-size:25px; }
.analytics-landing-details > p { line-height:1.7; color:#77706b; }
.analytics-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid #e1d9cd; background:#fffdfa; border-radius:8px; }
.analytics-stat { min-width:0; padding:15px 16px; }
.analytics-kpis .analytics-stat + .analytics-stat { border-left:1px solid #e9e2d9; }
.analytics-stat > span { display:block; font-size:12px; font-weight:600; color:#61575b; }
.analytics-stat > strong { display:block; font:600 27px/1.2 IBM,sans-serif; font-variant-numeric:tabular-nums; letter-spacing:-.035em; margin:5px 0; }
.analytics-stat small { display:block; font-size:11px; line-height:1.4; color:#79716e; }
.analytics-stat .analytics-pending { display:block; font:500 16px/1.4 IBM,sans-serif; letter-spacing:0; color:#8c785e; }
.analytics-secondary { display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:-7px; color:#77706b; font-size:13px; }
.analytics-secondary b { color:#413640; font-variant-numeric:tabular-nums; }
.analytics-takeaway { border-left:3px solid #b39b79; padding:0 0 0 13px; }
.analytics-takeaway p { margin:0; font-size:14px; line-height:1.6; }
.analytics-takeaway span { color:#77706b; }
.analytics-geography { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:18px; }
.analytics-workspace .card { padding:19px 21px; box-shadow:none; }
.analytics-workspace h2 { font:25px Newsreader,serif; margin:0; }
.analytics-section-head { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom:13px; }
.analytics-section-head p { margin:4px 0 0; color:#8a817a; font-size:12px; }
.analytics-column-label { font-size:12px; color:#80766e; }
.analytics-us { border-top:3px solid #654055; }
.analytics-places { list-style:none; padding:0; margin:0; }
.analytics-places li { display:flex; align-items:center; gap:15px; justify-content:space-between; min-height:37px; padding:6px 0; border-bottom:1px solid #f0ebe5; }
.analytics-places li:last-child { border:0; }
.analytics-places strong { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.analytics-location { position:relative; flex:1; min-width:0; font-size:14px; padding:0 0 5px; overflow-wrap:anywhere; }
.analytics-location > span { position:relative; }
.analytics-location small { display:inline; margin-left:7px; font-size:11px; color:#8a817a; }
.analytics-location i { position:absolute; display:block; bottom:0; height:3px; background:#e9e1d7; border-radius:3px; max-width:100%; }
.analytics-us .analytics-location i { background:#d2bccb; }
.analytics-unknown { color:#8a817a; font-size:12px; }
.analytics-unknown strong { font-size:12px; }
.analytics-sort { display:flex; align-items:center; gap:8px; font-size:12px; color:#80766e; }
.analytics-sort select { padding:7px; min-width:0; max-width:210px; font-size:13px; }
.analytics-table-scroll { overflow-x:auto; max-width:100%; }
.analytics-table { border-collapse:collapse; width:100%; font-size:13px; }
.analytics-table th,.analytics-table td { text-align:right; padding:10px 9px; border-bottom:1px solid #eee8df; font-variant-numeric:tabular-nums; }
.analytics-table thead th { font-weight:500; color:#81756e; font-size:11px; white-space:nowrap; }
.analytics-table th:first-child { text-align:left; padding-left:0; }
.analytics-table tbody th { font-weight:500; min-width:145px; }
.analytics-table tbody th span { display:block; overflow-wrap:anywhere; }
.analytics-table tbody tr:last-child td,.analytics-table tbody tr:last-child th { border:0; }
.analytics-emphasis { font-weight:600; color:#54283f; }
.analytics-sample { display:block; font-size:10px; font-weight:400; color:#9d8870; }
.analytics-footnote { font-size:11px; color:#8a817a; line-height:1.6; margin:12px 0 0; }
.analytics-more { font-size:12px; color:#77675e; margin-top:12px; }
.analytics-more summary { cursor:pointer; }
.analytics-more p { line-height:1.7; }
.analytics-bottom { display:grid; gap:10px; }
.analytics-disclosure { margin:0; font-size:14px; }
.analytics-disclosure > summary { cursor:pointer; font-weight:500; color:#5c414c; }
.analytics-disclosure[open] > summary { margin-bottom:16px; }
.analytics-disclosure p { line-height:1.7; color:#6d6a69; }
.analytics-detail-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.analytics-search-pages { list-style:none; padding:0; }
.analytics-search-pages li { display:flex; gap:15px; justify-content:space-between; padding:9px 0; border-bottom:1px solid #eee8df; }
.analytics-search-pages span { min-width:0; overflow-wrap:anywhere; }
.analytics-search-pages b { white-space:nowrap; font-weight:500; }
.analytics-local { margin-top:10px; box-shadow:none; }
.analytics-local-totals { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:15px; }
@container content (max-width:850px) {
  .analytics-header { align-items:start; flex-direction:column; gap:12px; }
  .analytics-stat { padding:13px 10px; }
  .analytics-stat > strong { font-size:24px; }
  .analytics-geography { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
}
@container content (max-width:600px) {
  .analytics-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .analytics-kpis .analytics-stat { border:0; }
  .analytics-kpis .analytics-stat:nth-child(n+4) { border-top:1px solid #e9e2d9; }
  .analytics-geography { grid-template-columns:minmax(0,1fr); }
  .analytics-section-head { align-items:start; }
  .analytics-sources .analytics-section-head { flex-direction:column; }
  .analytics-table { min-width:620px; }
  .analytics-range input { width:130px; }
  .analytics-range { gap:6px; }
  .analytics-workspace .card { padding:16px; }
  .analytics-detail-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container content (max-width:370px) {
  .analytics-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-kpis .analytics-stat:nth-child(n+3) { border-top:1px solid #e9e2d9; }
  .analytics-stat .analytics-pending { font-size:14px; }
}
.website-updates { margin-top:24px; }
.website-updates > summary { font-weight:600; min-height:44px; cursor:pointer; }
#practice-information { scroll-margin-top:24px; }
