/* Enees Studio: the palette comes from the administrator's single accent color. */
.template-5:not(.admin-page) {
  --ink: var(--studio-ink);
  --muted: var(--studio-muted);
  --green: var(--studio-link);
  --green-dark: var(--studio-ink);
  --lime: var(--studio-soft);
  --cream: var(--studio-background);
  --paper: #fff;
  --page-bg: var(--studio-background);
  --line: var(--studio-line);
  --line-soft: var(--studio-line);
  --surface-soft: var(--studio-soft);
  --surface-accent: var(--studio-soft-strong);
  --surface-highlight: var(--studio-background);
  --shadow-soft: 0 6px 24px color-mix(in srgb, var(--studio-ink) 5%, transparent);
  --shadow-lift: 0 10px 30px color-mix(in srgb, var(--studio-ink) 8%, transparent);
  --radius: 14px;
  --shadow: 0 6px 24px color-mix(in srgb, var(--studio-ink) 5%, transparent);
  color: var(--studio-ink);
  background: var(--studio-background);
  font-size: 16px;
  line-height: 1.65;
}
.template-5:not(.admin-page) main { overflow: visible; }
.template-5:not(.admin-page) .shell { width: min(1200px, calc(100% - 64px)); }
.template-5:not(.admin-page) h1,
.template-5:not(.admin-page) h2,
.template-5:not(.admin-page) h3 { font-weight: 500; color: var(--studio-ink); }
.template-5:not(.admin-page) a,
.template-5:not(.admin-page) button { -webkit-tap-highlight-color: transparent; }
.template-5:not(.admin-page) :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--studio-link);
  outline-offset: 4px;
}
.template-5:not(.admin-page) .site-header {
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--studio-line);
  backdrop-filter: none;
  box-shadow: none;
}
.template-5:not(.admin-page) .nav { min-height: 92px; height: auto; gap: 30px; padding-block: 18px; }
.template-5:not(.admin-page) .brand { gap: 12px; min-width: 0; color: var(--studio-ink); }
.template-5:not(.admin-page) .brand-name { display: inline; font-size: 28px; font-weight: 500; letter-spacing: -.055em; overflow-wrap: anywhere; }
.template-5:not(.admin-page) .brand-name::after { content: '.'; color: var(--studio-link); }
.template-5:not(.admin-page) .brand-logo { max-width: 170px; height: 44px; }
.template-5:not(.admin-page) .nav nav { align-items: center; flex-wrap: wrap; gap: 12px 24px; font-size: 14px; font-weight: 400; }
@media (min-width: 801px) { .template-5:not(.admin-page) .nav nav { transform: translateX(-20px); } }
.template-5:not(.admin-page) .nav nav a { display: inline-flex; padding: 9px 0; color: var(--studio-muted); }
.template-5:not(.admin-page) .nav nav a:hover { color: var(--studio-link); }
.template-5:not(.admin-page) .nav nav .nav-add-company,
.template-5:not(.admin-page) .primary-button,
.template-5:not(.admin-page) .advanced-search-main > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  border: 1px solid var(--studio-link);
  border-radius: 10px;
  padding: 12px 19px;
  color: var(--studio-on-accent);
  background: var(--studio-accent);
  box-shadow: none;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  line-height: 1.4;
}
.template-5:not(.admin-page) .nav nav .nav-add-company:hover,
.template-5:not(.admin-page) .primary-button:hover,
.template-5:not(.admin-page) .advanced-search-main > button:hover {
  background: var(--studio-hover);
  color: var(--studio-on-hover);
  transform: none;
}
.template-5:not(.admin-page) .ghost-button {
  min-height: 46px;
  padding: 12px 19px;
  border: 1px solid var(--studio-line);
  border-radius: 10px;
  background: #fff;
  color: var(--studio-ink);
  font-size: 14px;
  font-weight: 400;
  box-shadow: none;
}
.template-5:not(.admin-page) .ghost-button:hover { background: var(--studio-soft); border-color: var(--studio-link); }
.template-5:not(.admin-page) .kicker,
.template-5:not(.admin-page) .eyebrow {
  color: var(--studio-link);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.6;
}
.template-5:not(.admin-page) .studio-home-hero {
  padding: 62px 0 42px;
  background: linear-gradient(180deg,var(--studio-soft),var(--studio-footer));
  border-bottom: 1px solid var(--studio-line);
}
.template-5:not(.admin-page) .studio-hero-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(250px,1fr); align-items: stretch; gap: 48px; }
.template-5:not(.admin-page) .studio-hero-copy { min-width: 0; }
.template-5:not(.admin-page) .studio-hero-copy h1 { margin: 18px 0 21px; font-size: 40px; line-height: 1.08; letter-spacing: -.055em; }
.template-5:not(.admin-page) .studio-hero-copy h1 em { color: var(--studio-link); font-style: normal; }
.template-5:not(.admin-page) .studio-hero-copy > p { color: var(--studio-muted); max-width: 560px; margin: 0 0 30px; font-size: 16px; }
.template-5:not(.admin-page) .studio-hero-aside { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; background: var(--studio-soft); border: 1px solid var(--studio-line); border-radius: 16px; padding: 32px; }
.template-5:not(.admin-page) .studio-hero-aside h2 { margin: 0; font-size: 26px; line-height: 1.18; letter-spacing: -.045em; }
.template-5:not(.admin-page) .studio-hero-aside a { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--studio-line); padding: 17px 0; font-size: 14px; }
.template-5:not(.admin-page) .studio-hero-aside a:hover { color: var(--studio-link); }
.template-5:not(.admin-page) .studio-stats { display: flex; gap: 12px 24px; flex-wrap: wrap; color: var(--studio-muted); font-size: 12px; margin-top: 24px; }
.template-5:not(.admin-page) .studio-stats b { font-size: 14px; color: var(--studio-ink); font-weight: 500; }
.template-5:not(.admin-page) .advanced-search { background: #fff; color: var(--studio-ink); border: 1px solid var(--studio-line); border-radius: 12px; box-shadow: none; }
.template-5:not(.admin-page) .advanced-search label { color: var(--studio-muted); font-size: 13px; font-weight: 400; }
.template-5:not(.admin-page) .advanced-search input:not([type=checkbox]),
.template-5:not(.admin-page) .advanced-search select { color: var(--studio-ink); background: #fff; border-color: var(--studio-line); font-size: 14px; border-radius: 7px; }
.template-5:not(.admin-page) .advanced-search-options input[type=checkbox] { accent-color: var(--studio-link); }
.template-5:not(.admin-page) .studio-search { margin: 0; padding: 8px; }
.template-5:not(.admin-page) .studio-search-main { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.85fr) auto; align-items: center; gap: 8px; }
.template-5:not(.admin-page) .studio-search-main > label { gap: 1px; padding: 2px 10px; }
.template-5:not(.admin-page) .studio-search-main > label + label { border-left: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .studio-search-main input { border: 0; border-radius: 0; min-height: 30px; padding: 2px 0; }
.template-5:not(.admin-page) .studio-search-main label > span { font-size: 12px; }
.template-5:not(.admin-page) .studio-search-main input::placeholder { color: var(--studio-muted); opacity: 1; }
.template-5:not(.admin-page) .studio-search-more { border-top: 1px solid var(--studio-line); margin-top: 8px; padding: 8px 10px 2px; }
.template-5:not(.admin-page) .studio-search-more summary { color: var(--studio-link); cursor: pointer; font-size: 13px; padding: 4px 0; }
.template-5:not(.admin-page) .studio-search-more .advanced-search-options { padding-bottom: 10px; align-items: start; }
.template-5:not(.admin-page) .studio-search-more .advanced-search-options > label { font-size: 13px; }
.template-5:not(.admin-page) .section { padding-top: 42px; padding-bottom: 42px; }
.template-5:not(.admin-page) .section-head { margin-bottom: 24px; align-items: center; }
.template-5:not(.admin-page) .section-head h2 { margin: 0; font-size: 28px; letter-spacing: -.035em; line-height: 1.25; }
.template-5:not(.admin-page) .text-link { color: var(--studio-link); font-size: 14px; font-weight: 400; }
.template-5:not(.admin-page) .text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.template-5:not(.admin-page) .category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.template-5:not(.admin-page) .category-card { min-height: 0; display: flex; gap: 13px; padding: 20px 16px; border: 1px solid var(--studio-line); border-radius: 12px; background: #fff; transform: none; box-shadow: none; }
.template-5:not(.admin-page) .category-card:hover { border-color: var(--studio-link); background: var(--studio-soft); }
.template-5:not(.admin-page) .category-card > div:last-child { min-width: 0; }
.template-5:not(.admin-page) .category-card h3 { margin: 0 0 12px; font-size: 16px; line-height: 1.4; }
.template-5:not(.admin-page) .category-icon { flex-shrink: 0; width: 29px; height: 29px; font-size: 17px; border-radius: 7px; background: var(--studio-soft); color: var(--studio-link); box-shadow: none; }
.template-5:not(.admin-page) .mini-links { gap: 5px 12px; }
.template-5:not(.admin-page) .mini-links a { color: var(--studio-muted); font-size: 12px; }
.template-5:not(.admin-page) .mini-links a:hover { color: var(--studio-link); }
.template-5:not(.admin-page) .catalog-description { margin: 42px 0 0; color: var(--studio-muted); font-size: 16px; }
.template-5:not(.admin-page) .latest { background: var(--studio-background); }
.template-5:not(.admin-page) .company-grid { gap: 18px; }
.template-5:not(.admin-page) .studio-company-card { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid var(--studio-line); border-radius: 14px; background: #fff; box-shadow: none; }
.template-5:not(.admin-page) .studio-company-card:hover { border-color: var(--studio-link); transform: translateY(-2px); box-shadow: var(--shadow); }
.template-5:not(.admin-page) .studio-company-mark { display: grid; place-items: center; width: 100%; height: 142px; margin-bottom: 22px; color: var(--studio-ink); background: #fff; border: 1px solid var(--studio-line); border-radius: 12px; overflow: hidden; }
.template-5:not(.admin-page) .studio-category-graphic { display: block; width: 100%; height: 100%; }
.template-5:not(.admin-page) .studio-graphic-blob { fill: var(--studio-soft); }
.template-5:not(.admin-page) .studio-graphic-blob-secondary { opacity: .55; }
.template-5:not(.admin-page) .studio-graphic-ink { fill: none; stroke: var(--studio-ink); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.template-5:not(.admin-page) .studio-graphic-accent-stroke { stroke: var(--studio-link); }
.template-5:not(.admin-page) .studio-graphic-accent-fill { fill: var(--studio-accent); stroke: var(--studio-accent); }
.template-5:not(.admin-page) .company-body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; min-width: 0; width: 100%; padding: 0; }
.template-5:not(.admin-page) .company-body .eyebrow { font-size: 12px; text-transform: none; letter-spacing: 0; color: var(--studio-muted); }
.template-5:not(.admin-page) .company-body h3 { font-size: 20px; line-height: 1.35; margin: 6px 0 10px; overflow-wrap: anywhere; }
.template-5:not(.admin-page) .studio-card-google-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; margin: -1px 0 14px; color: var(--studio-muted); font-size: 12px; line-height: 1.35; }
.template-5:not(.admin-page) .studio-card-google-rating strong { color: var(--studio-ink); font-size: 13px; font-weight: 500; }
.template-5:not(.admin-page) .studio-card-rating-star { color: #e59b16; font-size: 15px; line-height: 1; }
.template-5:not(.admin-page) .company-body > p { height: auto; min-height: 0; margin: 0 0 18px; overflow: visible; color: var(--studio-muted); font-size: 14px; line-height: 1.6; }
.template-5:not(.admin-page) .nap { width: 100%; padding: 12px 0; margin-top: auto; border-top: 1px solid var(--studio-line); color: var(--studio-muted); }
.template-5:not(.admin-page) .nap > span { background: transparent; color: inherit; padding: 0; }
.template-5:not(.admin-page) .company-body .text-link { margin-top: 10px; }
.template-5:not(.admin-page) .page-hero,
.template-5:not(.admin-page) .offer-hero { color: var(--studio-ink); background: var(--studio-soft); border-bottom: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .page-hero::before,
.template-5:not(.admin-page) .page-hero::after,
.template-5:not(.admin-page) .offer-hero::before,
.template-5:not(.admin-page) .offer-hero::after { display: none; }
.template-5:not(.admin-page) .page-hero p,
.template-5:not(.admin-page) .offer-hero-copy > p { color: var(--studio-muted); }
.template-5:not(.admin-page) .category-page-hero { padding-top: 50px; padding-bottom: 50px; }
.template-5:not(.admin-page) .category-results-section { padding-top: 50px; padding-bottom: 50px; }
.template-5:not(.admin-page) .subcategory-list a { color: var(--studio-link); background: #fff; border-color: var(--studio-line); }
.template-5:not(.admin-page) .pagination a { border-color: var(--studio-line); color: var(--studio-link); background: #fff; }
.template-5:not(.admin-page) .pagination a.active { color: var(--studio-on-accent); background: var(--studio-accent); }
.template-5:not(.admin-page) .empty { grid-column: 1/-1; background: #fff; color: var(--studio-muted); border-color: var(--studio-line); box-shadow: none; }
.template-5:not(.admin-page) .detail-top { padding: 30px 0 34px; background: var(--studio-soft); border-bottom: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .public-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 28px; font-size: 12px; color: var(--studio-muted); }
.template-5:not(.admin-page) .public-breadcrumbs a { color: var(--studio-link); }
.template-5:not(.admin-page) .studio-profile-heading { display: flex; align-items: center; gap: 23px; }
.template-5:not(.admin-page) .studio-profile-heading > div:last-child { min-width: 0; }
.template-5:not(.admin-page) .studio-profile-mark { display: grid; place-items: center; flex: 0 0 88px; width: 88px; height: 88px; border: 1px solid var(--studio-line); border-radius: 14px; background: #fff; color: var(--studio-link); font: 44px Georgia,serif; }
.template-5:not(.admin-page) .studio-profile-heading h1 { font-size: clamp(30px,3.5vw,48px); line-height: 1.15; letter-spacing: -.045em; margin: 9px 0 7px; overflow-wrap: anywhere; }
.template-5:not(.admin-page) .company-name-legal { font-size: .7em; color: var(--studio-muted); }
.template-5:not(.admin-page) .studio-company-location { color: var(--studio-muted); margin: 0; font-size: 15px; }
.template-5:not(.admin-page) .studio-profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 25px; }
.template-5:not(.admin-page) .company-verification-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; padding-top: 18px; margin: 23px 0 0; border-top: 1px solid var(--studio-line); color: var(--studio-muted); font-size: 12px; }
.template-5:not(.admin-page) .company-verification-meta strong { font-weight: 500; }
.template-5:not(.admin-page) .info-layout { grid-template-columns: minmax(0,1.65fr) minmax(300px,1fr); gap: 52px; align-items: start; }
.template-5:not(.admin-page) .prose { min-width: 0; max-width: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.template-5:not(.admin-page) .company-description { color: var(--studio-muted); font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.template-5:not(.admin-page) .company-description h2 { margin: 0 0 20px; font-size: 28px; }
.template-5:not(.admin-page) .company-description h3 { margin: 30px 0 14px; font-size: 23px; }
.template-5:not(.admin-page) .company-description h4 { font-size: 19px; margin: 25px 0 12px; color: var(--studio-ink); }
.template-5:not(.admin-page) .company-description p { color: var(--studio-muted); font-size: inherit; line-height: inherit; }
.template-5:not(.admin-page) .company-description strong { color: var(--studio-ink); }
.template-5:not(.admin-page) .studio-company-screenshot { margin: 32px 0; overflow: hidden; border: 1px solid var(--studio-line); border-radius: 12px; background: #fff; }
.template-5:not(.admin-page) .studio-company-screenshot img { width: 100%; height: auto; }
.template-5:not(.admin-page) .studio-company-screenshot figcaption { color: var(--studio-muted); padding: 11px 16px; border-top: 1px solid var(--studio-line); font-size: 12px; }
.template-5:not(.admin-page) .company-sidebar { position: static; display: grid; gap: 16px; }
.template-5:not(.admin-page) .contact-card { padding: 25px; background: #fff; border: 1px solid var(--studio-line); border-radius: 12px; box-shadow: none; }
.template-5:not(.admin-page) .contact-card:hover { transform: none; box-shadow: none; }
.template-5:not(.admin-page) .contact-card h2 { margin: 0 0 18px; font-size: 20px; }
.template-5:not(.admin-page) .contact-card dt { color: var(--studio-muted); text-transform: none; font-size: 12px; font-weight: 400; letter-spacing: 0; margin-top: 15px; }
.template-5:not(.admin-page) .contact-card dd { color: var(--studio-ink); font-size: 15px; }
.template-5:not(.admin-page) .contact-card a,
.template-5:not(.admin-page) .contact-reveal { color: var(--studio-link); font-weight: 400; }
.template-5:not(.admin-page) .contact-reveal small { background: var(--studio-soft); color: var(--studio-link); font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.template-5:not(.admin-page) .copy-address { background: var(--studio-soft); color: var(--studio-link); border-color: var(--studio-line); font-size: 12px; }
.template-5:not(.admin-page) .social-links a,
.template-5:not(.admin-page) .review-profile-link { background: var(--studio-soft); color: var(--studio-link); border-color: var(--studio-line); }
.template-5:not(.admin-page) .company-map { border-color: var(--studio-line); background: #fff; box-shadow: none; }
.template-5:not(.admin-page) .company-map h2 { font-size: 23px; }
.template-5:not(.admin-page) .share-box,
.template-5:not(.admin-page) .report-box { background: #fff; border: 1px solid var(--studio-line); border-radius: 12px; box-shadow: none; }
.template-5:not(.admin-page) .report-box summary,
.template-5:not(.admin-page) .report-box label,
.template-5:not(.admin-page) .report-box textarea { font-weight: 400; }
.template-5:not(.admin-page) .share-box a,
.template-5:not(.admin-page) .share-box button { color: var(--studio-link); background: var(--studio-soft); border-color: var(--studio-line); }
.template-5:not(.admin-page) .similar-companies { background: var(--studio-background); border-top: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .similar-companies .section-head h2 { font-size: 28px; font-weight: 400; }
.template-5:not(.admin-page) .public-company-form fieldset,
.template-5:not(.admin-page) .category-description-card { background: #fff; border-color: var(--studio-line); box-shadow: none; }
.template-5:not(.admin-page) .public-company-form input,
.template-5:not(.admin-page) .public-company-form select,
.template-5:not(.admin-page) .public-company-form textarea { accent-color: var(--studio-link); }

/* Public company submission */
.template-5:not(.admin-page) .public-submission-section { padding: 54px 0 78px; background: var(--studio-footer); }
.template-5:not(.admin-page) .public-submission-shell { max-width: 1180px; }
.template-5:not(.admin-page) .public-submission-section .section-head { margin-bottom: 27px; }
.template-5:not(.admin-page) .public-submission-section .section-head > div { max-width: 780px; }
.template-5:not(.admin-page) .public-submission-section .section-head h2 { margin: 10px 0 9px; font-size: 32px; font-weight: 500; letter-spacing: -.035em; }
.template-5:not(.admin-page) .public-submission-section .section-head p { max-width: 680px; color: var(--studio-muted); font-size: 14px; line-height: 1.6; }
.template-5:not(.admin-page) .public-submission-section .section-head .public-free-notice { display: none; }
.template-5:not(.admin-page) .public-submission-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 30px; align-items: start; }
.template-5:not(.admin-page) .public-submission-main { min-width: 0; }
.template-5:not(.admin-page) .public-company-form { display: grid; gap: 18px; background: transparent; }
.template-5:not(.admin-page) .public-company-form fieldset { min-width: 0; margin: 0; padding: 27px 28px 29px; border: 1px solid var(--studio-line); border-radius: 14px; background: #fff; }
.template-5:not(.admin-page) .public-company-form legend { float: left; width: 100%; margin: 0 0 23px; padding: 0 0 17px; border-bottom: 1px solid var(--studio-line); color: var(--studio-ink); font-family: inherit; font-size: 19px; line-height: 1.3; font-weight: 500; letter-spacing: -.02em; }
.template-5:not(.admin-page) .public-company-form legend + * { clear: both; }
.template-5:not(.admin-page) .public-company-form .form-grid { gap: 19px 16px; }
.template-5:not(.admin-page) .public-company-form label { gap: 7px; color: var(--studio-ink); font-size: 12px; line-height: 1.45; font-weight: 500; }
.template-5:not(.admin-page) .public-company-form input,
.template-5:not(.admin-page) .public-company-form select,
.template-5:not(.admin-page) .public-company-form textarea { border: 1px solid var(--studio-line); border-radius: 8px; padding: 12px 13px; color: var(--studio-ink); background: #fff; font-size: 14px; font-weight: 400; box-shadow: none; transition: border-color .16s ease,box-shadow .16s ease; }
.template-5:not(.admin-page) .public-company-form input,
.template-5:not(.admin-page) .public-company-form select { min-height: 46px; }
.template-5:not(.admin-page) .public-company-form textarea { min-height: 126px; line-height: 1.55; }
.template-5:not(.admin-page) .public-company-form textarea[name='description'] { min-height: 205px; }
.template-5:not(.admin-page) .public-company-form :is(input,select,textarea):focus { border-color: var(--studio-link); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb,var(--studio-accent) 11%,transparent); }
.template-5:not(.admin-page) .public-company-form label small { margin-top: 2px; color: var(--studio-muted); font-size: 10.5px; line-height: 1.55; }
.template-5:not(.admin-page) .public-company-form .consent-stack { gap: 18px; }
.template-5:not(.admin-page) .public-company-form .consent-check { grid-template-columns: 20px minmax(0,1fr); gap: 10px; font-size: 12px; font-weight: 400; }
.template-5:not(.admin-page) .public-company-form .consent-check input { min-height: 0; border-radius: 4px; }
.template-5:not(.admin-page) .public-company-form .consent-check a { color: var(--studio-link); }
.template-5:not(.admin-page) .public-submit-button { width: 100%; min-height: 52px; border-radius: 9px; background: var(--studio-ink); font-size: 13px; font-weight: 500; }
.template-5:not(.admin-page) .public-submit-button:hover { background: color-mix(in srgb,var(--studio-ink) 88%,#fff); }
.template-5:not(.admin-page) .public-submission-aside { position: sticky; top: 24px; }
.template-5:not(.admin-page) .public-submission-rules { padding: 24px; border: 1px solid var(--studio-line); border-radius: 14px; background: #fff; }
.template-5:not(.admin-page) .public-submission-rules h2 { margin: 0 0 20px; padding-bottom: 17px; border-bottom: 1px solid var(--studio-line); color: var(--studio-ink); font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.template-5:not(.admin-page) .public-submission-rules ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.template-5:not(.admin-page) .public-submission-rules li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .public-submission-rules li:first-child { padding-top: 0; }
.template-5:not(.admin-page) .public-submission-rules li:last-child { border-bottom: 0; }
.template-5:not(.admin-page) .submission-rule-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid color-mix(in srgb,var(--studio-accent) 24%,var(--studio-line)); border-radius: 50%; color: var(--studio-link); background: var(--studio-soft); font-size: 14px; font-weight: 600; }
.template-5:not(.admin-page) .submission-rule-star { font-size: 19px; line-height: 1; }
.template-5:not(.admin-page) .submission-rule-number { font-size: 10px; }
.template-5:not(.admin-page) .public-submission-rules li p { margin: 0; }
.template-5:not(.admin-page) .public-submission-rules li strong { display: block; color: var(--studio-ink); font-size: 12px; line-height: 1.4; font-weight: 500; }
.template-5:not(.admin-page) .public-submission-rules li small { display: block; margin-top: 4px; color: var(--studio-muted); font-size: 10.5px; line-height: 1.5; }
.template-5:not(.admin-page) .public-submission-promo { margin-top: 18px; padding: 21px; border-radius: 11px; color: #fff; background: var(--studio-ink); }
.template-5:not(.admin-page) .public-submission-promo > span { color: color-mix(in srgb,var(--studio-accent) 72%,#fff); font-size: 9px; font-weight: 600; letter-spacing: .09em; }
.template-5:not(.admin-page) .public-submission-promo h3 { margin: 11px 0 8px; color: #fff; font-size: 17px; line-height: 1.35; font-weight: 500; }
.template-5:not(.admin-page) .public-submission-promo p { margin: 0 0 17px; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.55; }
.template-5:not(.admin-page) .public-submission-promo a { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 11px; font-weight: 500; }
.template-5:not(.admin-page) footer { background: var(--studio-footer); color: var(--studio-muted); border-top: 1px solid var(--studio-line); border-radius: 0; padding: 34px 0 24px; }
.template-5:not(.admin-page) footer strong { color: var(--studio-ink); font-size: 20px; font-weight: 500; }
.template-5:not(.admin-page) footer p,
.template-5:not(.admin-page) footer a { color: var(--studio-muted); font-size: 14px; }
.template-5:not(.admin-page) footer a:hover { color: var(--studio-link); }
.template-5:not(.admin-page) .fine { color: var(--studio-muted); border-top-color: var(--studio-line); font-size: 12px; }

.template-5:not(.admin-page) .contact-hero,
.template-5:not(.admin-page) .legal-hero {
  padding: 52px 0 46px;
  background: var(--studio-soft);
  border-bottom: 1px solid var(--studio-line);
}
.template-5:not(.admin-page) .contact-hero h1,
.template-5:not(.admin-page) .legal-hero h1 { margin: 12px 0 10px; font-size: 40px; line-height: 1.15; letter-spacing: -.04em; }
.template-5:not(.admin-page) .contact-hero p,
.template-5:not(.admin-page) .legal-hero p { margin: 0; color: var(--studio-muted); font-size: 14px; }
.template-5:not(.admin-page) .legal-hero p span { padding: 0 5px; }
.template-5:not(.admin-page) .contact-section { padding: 50px 0 78px; background: var(--studio-footer); }
.template-5:not(.admin-page) .contact-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(270px,.85fr); gap: 34px; align-items: start; }
.template-5:not(.admin-page) .contact-form-card,
.template-5:not(.admin-page) .contact-info-card { border: 1px solid var(--studio-line); border-radius: 12px; background: #fff; box-shadow: none; }
.template-5:not(.admin-page) .contact-form-card > header { padding: 26px 28px 22px; border-bottom: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .contact-form-card h2,
.template-5:not(.admin-page) .contact-info-card h2 { margin: 0 0 7px; font-size: 22px; }
.template-5:not(.admin-page) .contact-form-card header p,
.template-5:not(.admin-page) .contact-info-card p { margin: 0; color: var(--studio-muted); font-size: 13px; }
.template-5:not(.admin-page) .contact-form-body { padding: 28px; }
.template-5:not(.admin-page) .contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 16px; }
.template-5:not(.admin-page) .contact-form-grid > label { display: grid; gap: 7px; color: var(--studio-ink); font-size: 13px; }
.template-5:not(.admin-page) .contact-form-grid .wide { grid-column: 1/-1; }
.template-5:not(.admin-page) .contact-form input,
.template-5:not(.admin-page) .contact-form select,
.template-5:not(.admin-page) .contact-form textarea { width: 100%; border: 1px solid var(--studio-line); border-radius: 8px; padding: 12px 13px; color: var(--studio-ink); background: #fff; font: inherit; box-sizing: border-box; }
.template-5:not(.admin-page) .contact-form textarea { min-height: 190px; resize: vertical; line-height: 1.65; }
.template-5:not(.admin-page) .contact-form :is(input,select,textarea):focus { border-color: var(--studio-link); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb,var(--studio-accent) 12%,transparent); }
.template-5:not(.admin-page) .contact-form label small { color: var(--studio-muted); font-size: 11px; line-height: 1.5; }
.template-5:not(.admin-page) .contact-form .consent-check { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 10px; }
.template-5:not(.admin-page) .contact-form .consent-check input { width: 18px; margin-top: 2px; padding: 0; accent-color: var(--studio-link); }
.template-5:not(.admin-page) .contact-form .consent-check a { color: var(--studio-link); text-decoration: underline; text-underline-offset: 3px; }
.template-5:not(.admin-page) .contact-submit { margin-top: 24px; }
.template-5:not(.admin-page) .contact-info-card { padding: 28px; }
.template-5:not(.admin-page) .contact-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 22px; border-radius: 50%; color: var(--studio-link); background: var(--studio-soft); font-size: 20px; }
.template-5:not(.admin-page) .contact-label { display: block; margin: 27px 0 9px; color: var(--studio-muted); font-size: 10px; letter-spacing: .09em; }
.template-5:not(.admin-page) .contact-email-graphic { display: block; width: min(246px,100%); height: auto; }
.template-5:not(.admin-page) .contact-info-card hr { margin: 27px 0; border: 0; border-top: 1px solid var(--studio-line); }
.template-5:not(.admin-page) .contact-info-card > strong { display: block; margin-bottom: 7px; color: var(--studio-ink); font-size: 13px; font-weight: 500; }

.template-5:not(.admin-page) .legal-document-section { padding: 44px 0 84px; background: #fff; }
.template-5:not(.admin-page) .legal-document-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 58px; align-items: start; }
.template-5:not(.admin-page) .legal-toc { position: sticky; top: 24px; padding: 21px 18px; border: 1px solid var(--studio-line); border-radius: 10px; background: #fff; }
.template-5:not(.admin-page) .legal-toc > strong { display: block; margin-bottom: 12px; color: var(--studio-ink); font-size: 14px; font-weight: 500; }
.template-5:not(.admin-page) .legal-toc nav { display: grid; }
.template-5:not(.admin-page) .legal-toc a { padding: 8px 0; border-bottom: 1px solid var(--studio-line); color: var(--studio-muted); font-size: 12px; line-height: 1.4; }
.template-5:not(.admin-page) .legal-toc a:last-child { border-bottom: 0; }
.template-5:not(.admin-page) .legal-toc a:hover { color: var(--studio-link); }
.template-5:not(.admin-page) .legal-content { min-width: 0; max-width: 850px; color: var(--studio-muted); font-size: 15px; line-height: 1.75; }
.template-5:not(.admin-page) .legal-content h2 { scroll-margin-top: 24px; margin: 34px 0 15px; padding-top: 31px; border-top: 1px solid var(--studio-line); color: var(--studio-ink); font-size: 22px; font-weight: 500; line-height: 1.35; }
.template-5:not(.admin-page) .legal-content h2:first-child,
.template-5:not(.admin-page) .legal-content .legal-updated + h2 { margin-top: 0; padding-top: 0; border-top: 0; }
.template-5:not(.admin-page) .legal-content p { margin: 0 0 17px; color: var(--studio-muted); font-size: inherit; line-height: inherit; }
.template-5:not(.admin-page) .legal-content > h2:first-child + p,
.template-5:not(.admin-page) .legal-content > .legal-updated + h2 + p { padding: 19px 20px; border-left: 3px solid var(--studio-link); background: var(--studio-soft); color: var(--studio-ink); }
.template-5:not(.admin-page) .legal-content ul { margin: 0 0 19px; padding-left: 24px; }
.template-5:not(.admin-page) .legal-content li { margin: 7px 0; }
.template-5:not(.admin-page) .legal-content a { color: var(--studio-link); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.template-5:not(.admin-page) .legal-content .legal-updated { display: none; }

/* This preview is deliberately scoped so it does not recolor the admin panel. */
.studio-settings-grid { display: grid; grid-template-columns: minmax(200px,.8fr) minmax(0,1.2fr); gap: 30px; align-items: center; }
.studio-settings input[type=color] { display: block; width: 100%; min-height: 56px; padding: 6px; cursor: pointer; }
.studio-palette-preview { position: relative; padding: 28px; border: 1px solid var(--studio-line); border-radius: 14px; background: linear-gradient(180deg,var(--studio-soft),var(--studio-footer)); color: var(--studio-ink); }
.studio-preview-kicker { display: block; color: var(--studio-link); font-size: 12px; margin-bottom: 16px; }
.studio-palette-preview > strong { display: block; font-size: 25px; line-height: 1.25; font-weight: 500; letter-spacing: -.03em; }
.studio-palette-preview em { color: var(--studio-link); font-style: normal; }
.studio-palette-preview p { color: var(--studio-muted); font-size: 14px; }
.studio-preview-button { display: inline-flex; padding: 12px 18px; border: 1px solid var(--studio-link); border-radius: 9px; background: var(--studio-accent); color: var(--studio-on-accent); font-size: 14px; }
.studio-preview-swatches { display: flex; gap: 7px; margin-top: 22px; }
.studio-preview-swatches i { width: 30px; height: 30px; border: 1px solid var(--studio-line); border-radius: 7px; background: var(--studio-accent); }
.studio-preview-swatches i:nth-child(2) { background: var(--studio-hover); }
.studio-preview-swatches i:nth-child(3) { background: var(--studio-soft); }
.studio-preview-swatches i:nth-child(4) { background: var(--studio-ink); }
.studio-palette-preview output { display: block; margin-top: 10px; color: var(--studio-muted); font-size: 12px; }

@media (max-width: 1050px) {
  .template-5:not(.admin-page) .studio-hero-grid { grid-template-columns: minmax(0,1.6fr) minmax(220px,1fr); gap: 28px; }
  .template-5:not(.admin-page) .studio-hero-aside { padding: 25px; }
  .template-5:not(.admin-page) .category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .template-5:not(.admin-page) .info-layout { gap: 30px; grid-template-columns: minmax(0,1.4fr) minmax(280px,1fr); }
  .template-5:not(.admin-page) .studio-search-main { grid-template-columns: 1fr 1fr; }
  .template-5:not(.admin-page) .studio-search-main > button { grid-column: 1/-1; }
  .template-5:not(.admin-page) .public-submission-layout { grid-template-columns: minmax(0,1fr) 275px; gap: 24px; }
}
@media (max-width: 800px) {
  .template-5:not(.admin-page) .shell { width: calc(100% - 40px); }
  .template-5:not(.admin-page) .nav { flex-wrap: wrap; gap: 15px; }
  .template-5:not(.admin-page) .nav nav { gap: 8px 18px; }
  .template-5:not(.admin-page) .studio-home-hero { padding-top: 38px; }
  .template-5:not(.admin-page) .studio-hero-grid { grid-template-columns: 1fr; }
  .template-5:not(.admin-page) .studio-hero-aside { display: none; }
  .template-5:not(.admin-page) .studio-search-main { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) auto; }
  .template-5:not(.admin-page) .studio-search-main > button { grid-column: auto; }
  .template-5:not(.admin-page) .category-grid,
  .template-5:not(.admin-page) .company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .template-5:not(.admin-page) .info-layout { display: flex; flex-direction: column; }
  .template-5:not(.admin-page) .info-layout > * { width: 100%; }
  .template-5:not(.admin-page) .company-sidebar { order: -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .template-5:not(.admin-page) .public-submission-layout { grid-template-columns: 1fr; }
  .template-5:not(.admin-page) .public-submission-aside { position: static; }
  .template-5:not(.admin-page) .public-submission-rules ul { grid-template-columns: 1fr 1fr; column-gap: 22px; }
  .template-5:not(.admin-page) .public-submission-rules li:nth-child(3) { border-bottom: 0; }
  .studio-settings-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .template-5:not(.admin-page) .shell { width: calc(100% - 32px); }
  .template-5:not(.admin-page) .nav nav { width: 100%; display: grid; grid-template-columns: auto auto; gap: 7px 15px; }
  .template-5:not(.admin-page) .nav nav a { font-size: 13px; }
  .template-5:not(.admin-page) .nav nav .nav-add-company { padding: 11px 13px; }
  .template-5:not(.admin-page) .studio-hero-copy h1 { font-size: 43px; }
  .template-5:not(.admin-page) .studio-hero-copy > p br { display: none; }
  .template-5:not(.admin-page) .studio-search-main { grid-template-columns: 1fr; }
  .template-5:not(.admin-page) .studio-search-main > label + label { border-left: 0; border-top: 1px solid var(--studio-line); padding-top: 9px; }
  .template-5:not(.admin-page) .studio-search-main input { font-size: 16px; }
  .template-5:not(.admin-page) .studio-search-main .primary-button { width: 100%; }
  .template-5:not(.admin-page) .section { padding-top: 30px; padding-bottom: 30px; }
  .template-5:not(.admin-page) .section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .template-5:not(.admin-page) .section-head h2 { font-size: 26px; }
  .template-5:not(.admin-page) .category-grid,
  .template-5:not(.admin-page) .company-grid,
  .template-5:not(.admin-page) .company-sidebar { grid-template-columns: 1fr; }
  .template-5:not(.admin-page) .category-card { padding: 18px; }
  .template-5:not(.admin-page) .studio-profile-heading { align-items: flex-start; gap: 14px; }
  .template-5:not(.admin-page) .studio-profile-mark { flex-basis: 55px; width: 55px; height: 55px; font-size: 29px; border-radius: 9px; }
  .template-5:not(.admin-page) .studio-profile-heading h1 { font-size: 32px; }
  .template-5:not(.admin-page) .studio-profile-actions { flex-direction: column; align-items: stretch; }
  .template-5:not(.admin-page) .company-verification-meta { flex-direction: column; }
  .template-5:not(.admin-page) .contact-card { padding: 21px; }
  .template-5:not(.admin-page) .public-submission-section { padding: 34px 0 48px; }
  .template-5:not(.admin-page) .public-submission-section .section-head h2 { font-size: 27px; }
  .template-5:not(.admin-page) .public-company-form fieldset,
  .template-5:not(.admin-page) .public-submission-rules { padding: 21px; }
  .template-5:not(.admin-page) .public-company-form .form-grid,
  .template-5:not(.admin-page) .public-submission-rules ul { grid-template-columns: 1fr; }
  .template-5:not(.admin-page) .public-company-form .wide { grid-column: auto; }
  .template-5:not(.admin-page) .public-submission-rules li:nth-child(3) { border-bottom: 1px solid var(--studio-line); }
  .template-5:not(.admin-page) .contact-layout,
  .template-5:not(.admin-page) .legal-document-layout { grid-template-columns: 1fr; gap: 24px; }
  .template-5:not(.admin-page) .legal-toc { position: static; }
  .template-5:not(.admin-page) .footer-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 560px) {
  .template-5:not(.admin-page) .contact-hero,
  .template-5:not(.admin-page) .legal-hero { padding: 38px 0 34px; }
  .template-5:not(.admin-page) .contact-hero h1,
  .template-5:not(.admin-page) .legal-hero h1 { font-size: 32px; }
  .template-5:not(.admin-page) .contact-section,
  .template-5:not(.admin-page) .legal-document-section { padding: 30px 0 55px; }
  .template-5:not(.admin-page) .contact-form-card > header,
  .template-5:not(.admin-page) .contact-form-body,
  .template-5:not(.admin-page) .contact-info-card { padding: 21px; }
  .template-5:not(.admin-page) .contact-form-grid { grid-template-columns: 1fr; }
  .template-5:not(.admin-page) .contact-form-grid .wide { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .template-5:not(.admin-page) .studio-company-card:hover { transform: none; }
}
