:root {
  --bg: #fcfcfa;
  --panel: #f0f2ee;
  --text: #222c27;
  --muted: #546059;
  --accent: #215d47;
  --line: #d8dfd9;
  --on-accent: #fff;
  --focus: #b84b28;
  --max: 1520px;
  color-scheme: light dark;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 16px;
}
* {
  box-sizing: border-box;
}
html,
body {
  max-width: 100%;
  overflow-x: clip;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  padding-bottom: 84px;
}
html {
  scroll-behavior: smooth;
  scroll-padding-bottom: 100px;
}
.nav-toggle {
  display: none;
}
.format-grid figure {
  margin-bottom: 18px;
}
.product-image-link {
  display: block;
  text-decoration: none;
}
.product-image-link img {
  transition: filter 0.2s ease;
}
.product-image-link:hover img {
  filter: brightness(0.97);
}
.format-grid figure img {
  aspect-ratio: 1;
  object-fit: contain;
  background: #f4f0e8;
}
main > *,
.two-columns > *,
.inquiry-layout > * {
  min-width: 0;
}
h1,
h2,
h3 {
  text-wrap: balance;
  overflow-wrap: break-word;
}
.site-header nav [aria-current="page"] {
  color: var(--accent);
  text-decoration: underline;
}
.contact-panel {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  padding: 42px;
  margin: 0 0 60px;
  background: var(--panel);
  border-top: 1px solid var(--line);
  scroll-margin-top: 24px;
}
.contact-panel h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
}
.contact-status {
  display: block;
  font-weight: 600;
  margin-bottom: 16px;
}
.contact-dock {
  position: fixed;
  bottom: 18px;
  right: 24px;
  z-index: 20;
  display: flex;
  background: var(--bg);
  border: 1px solid var(--line);
  box-shadow: 0 5px 24px #222c2715;
  border-radius: 6px;
  overflow: hidden;
}
.contact-dock a {
  padding: 12px 20px;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  font-size: 0.9rem;
}
.contact-dock a:last-child {
  background: var(--accent);
  color: var(--on-accent);
}
.contact-dock span {
  font-size: 0.65rem;
  line-height: 1.2;
}
.contact-dock a:focus-visible {
  outline-offset: -4px;
}
@media (max-width: 767px) {
  body {
    padding-bottom: 0;
  }
  .enhanced-nav .nav-toggle {
    display: block;
    min-height: 44px;
    padding: 8px 14px;
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--text);
  }
  .enhanced-nav .site-header > .button {
    display: none;
  }
  .enhanced-nav .site-header nav:not(.is-open) {
    display: none;
  }
  .contact-panel {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 18px;
    margin-bottom: 32px;
  }
  .contact-dock {
    position: static;
    left: 12px;
    right: 12px;
    bottom: auto;
    width: calc(100% - 24px);
    max-width: none;
    margin: 12px;
  }
  .contact-dock a {
    flex: 1;
    min-width: 0;
    align-items: center;
    padding: 10px;
    overflow-wrap: anywhere;
  }
  .site-header {
    flex-wrap: wrap;
    width: 100%;
    min-width: 0;
  }
  .site-header nav {
    width: 100%;
    order: 3;
  }
  .site-header nav a,
  .site-header summary {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .site-header .dropdown {
    max-width: calc(100vw - 40px);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
a {
  color: inherit;
  text-underline-offset: 5px;
}
a:hover {
  color: var(--accent);
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}
button,
summary {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 5px;
}
h1,
h2,
h3,
p {
  margin: 0 0 1rem;
}
h1,
h2,
h3 {
  line-height: 1.12;
  font-weight: 550;
  letter-spacing: -0.035em;
}
h1 {
  font-size: clamp(2.6rem, 4.6vw, 4.5rem);
  max-width: 18ch;
}
h2 {
  font-size: clamp(1.9rem, 3vw, 3rem);
  max-width: 25ch;
}
h3 {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
}
p {
  color: var(--muted);
  max-width: 68ch;
}
img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
figure {
  margin: 0;
  min-width: 0;
}
figcaption {
  font-size: 0.76rem;
  line-height: 1.5;
  color: var(--muted);
  padding: 0.65rem 0;
  overflow-wrap: anywhere;
}
section {
  padding: 72px 0;
}
main {
  max-width: var(--max);
  margin: auto;
  padding: 0 40px;
}
main:focus {
  outline: 0;
}
.skip {
  position: absolute;
  left: 16px;
  top: -80px;
  padding: 12px;
  background: var(--bg);
  z-index: 30;
}
.skip:focus {
  top: 10px;
}
.site-header {
  max-width: 1440px;
  margin: auto;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 16px 40px;
  border-bottom: 1px solid var(--line);
}
.brand {
  font-size: 1.65rem;
  letter-spacing: -0.075em;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.brand-mark {
  display: inline-block;
  color: var(--accent);
  margin-left: 7px;
}.brand-logo {
  display: block;
  width: 178px;
  height: auto;
  object-fit: contain;
}
.site-header nav {
  display: flex;
  align-items: center;
  column-gap: 28px;
  row-gap: 10px;
  font-size: 0.9rem;
  white-space: nowrap;
}
.site-header nav a,
.site-header nav summary {
  text-decoration: none;
}
.site-header nav > details {
  margin-right: 28px;
}
.site-header nav > a + a {
  margin-left: 28px;
}
.site-header nav > p {
  display: flex;
  gap: 28px;
  margin: 0;
}
.button,
.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid var(--accent);
  border-radius: 4px;
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 600;
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
  font-size: 0.9rem;
}
.button:hover {
  background: var(--text);
  border-color: var(--text);
  color: var(--bg);
}
.secondary {
  background: transparent;
  color: var(--text);
  border-color: var(--line);
}
.text-link {
  display: inline-block;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 10px 0;
}
.actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.product-menu {
  position: relative;
}
.product-menu summary {
  list-style: none;
}
.product-menu summary::-webkit-details-marker {
  display: none;
}
.product-menu summary::after {
  content: "⌄";
  margin-left: 5px;
}
.dropdown {
  position: absolute;
  top: 38px;
  left: -20px;
  z-index: 20;
  width: 270px;
  padding: 15px;
  background: var(--bg);
  border: 1px solid var(--line);
  box-shadow: 0 16px 30px #17312614;
}
.dropdown a {
  display: block;
  padding: 10px;
}
.dropdown a:hover {
  background: var(--panel);
}
.hero {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 60px;
  align-items: center;
  padding: 44px 0 36px;
}
.hero-copy p {
  font-size: 1.15rem;
  max-width: 39ch;
  margin: 24px 0 30px;
}
.hero figure img {
  aspect-ratio: 1.13;
  object-fit: cover;
  border-radius: 4px;
}
.hero h1 {
  font-size: clamp(2.8rem, 4.5vw, 4.2rem);
  max-width: 13ch;
}
.custom-strip {
  border-block: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 0;
  flex-wrap: wrap;
}
.custom-strip h2 {
  font-size: 1rem;
  letter-spacing: 0;
  margin: 0;
}
.custom-strip a {
  font-size: 0.85rem;
  text-decoration: none;
  font-weight: 600;
}
.intro {
  margin-bottom: 32px;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 30px;
}
.category {
  grid-column: span 2;
  min-width: 0;
}
.category:nth-child(-n + 2) {
  grid-column: span 3;
}
.category a {
  text-decoration: none;
}
.category img {
  aspect-ratio: 1.4;
  transition: transform 0.35s ease;
  border-radius: 4px;
}
.category figure {
  overflow: hidden;
}
.category a:hover img {
  transform: scale(1.025);
}
.category h3 {
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
}
.category p {
  font-size: 0.95rem;
}
.category figcaption {
  font-size: 0.7rem;
}
.process-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  border-top: 1px solid var(--line);
}
.process {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: steps;
}
.process li {
  padding: 0 0 24px 50px;
  position: relative;
  counter-increment: steps;
}
.process li:before {
  content: counter(steps);
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1rem;
  color: var(--accent);
  font-weight: 700;
}
.process h3 {
  font-size: 1.35rem;
}
.feature-case {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.feature-case img {
  aspect-ratio: 1.25;
}
.guide-list {
  border-top: 1px solid var(--line);
  margin-top: 32px;
}
.guide-list .text-card {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 30px;
  padding: 28px 0;
}
.guide-list .text-card h3 {
  font-size: 1.4rem;
}
.guide-list .text-card p {
  margin: 0;
}
.text-card {
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}
.text-card h3 a {
  text-decoration: none;
}
.text-card h3 a:hover {
  text-decoration: underline;
}
.closing {
  background: var(--panel);
  padding: 50px;
  margin: 28px 0 72px;
  border-radius: 4px;
}
.closing h2 {
  max-width: 30ch;
}
.closing p {
  margin-bottom: 24px;
}
footer {
  border-top: 1px solid var(--line);
  padding: 52px 40px 20px;
  max-width: 1440px;
  margin: auto;
}
.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 50px;
}
.footer-top h2 {
  font-size: 1rem;
  letter-spacing: 0;
}
.footer-top a:not(.brand) {
  display: block;
  margin: 8px 0;
  font-size: 0.9rem;
  text-decoration: none;
}
.footer-top p {
  margin-top: 20px;
}
.footer-bottom {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin-top: 35px;
  display: flex;
  gap: 25px;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--muted);
}
.crumb {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 0.8rem;
  color: var(--muted);
  padding-top: 24px;
}
.page-heading {
  padding: 55px 0 30px;
}
.page-heading p {
  font-size: 1.1rem;
  max-width: 64ch;
  margin-top: 22px;
}
.page-heading h1 {
  max-width: 22ch;
}
.tight {
  padding-top: 10px;
}
.split-heading,
.product-detail,
.customizer,
.case-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 40px;
}
.split-heading h1,
.product-detail h1 {
  font-size: clamp(2.3rem, 4vw, 3.5rem);
}
.split-heading figure img,
.product-detail figure img,
.customizer figure img,
.case-detail figure img {
  aspect-ratio: 1.1;
  border-radius: 4px;
}
.lead {
  font-size: 1.25rem;
}
.split-heading .button {
  margin-top: 15px;
}
.format-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 40px;
}
.category-name {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 12px;
}
.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  border-top: 1px solid var(--line);
}
.two-columns h2 {
  font-size: 2rem;
}
.filters {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 25px;
  margin: 30px 0;
}
.filters label {
  font-size: 0.9rem;
  display: grid;
  gap: 8px;
}
.filters input,
.filters select {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--bg);
  color: var(--text);
  font: inherit;
}
.notice {
  background: var(--panel);
  padding: 14px 18px;
  border-left: 3px solid var(--accent);
  font-size: 0.9rem;
}
.product-detail h2 {
  font-size: 1.2rem;
  margin-top: 25px;
  letter-spacing: 0;
}
.product-detail .text-link {
  display: block;
  margin-top: 12px;
}
.faq {
  max-width: 900px;
}
.faq details {
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}
.faq summary {
  font-weight: 600;
}
.faq details p {
  margin: 15px 0;
}
.related .text-card {
  max-width: 700px;
}
.customizer {
  align-items: start;
}
.customizer > div:first-child {
  position: sticky;
  top: 20px;
}
.customizer label {
  font-size: 0.9rem;
}
fieldset {
  border: 0;
  padding: 0;
  margin: 28px 0;
}
legend {
  font-size: 1.1rem;
  font-weight: 650;
  margin-bottom: 8px;
}
fieldset[id] {
  scroll-margin-top: 24px;
}
.helper {
  font-size: 0.84rem;
  color: var(--muted);
}
.choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.choices label {
  display: block;
  position: relative;
}
.choices input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.choices span {
  display: block;
  border: 1px solid var(--line);
  padding: 10px 14px;
  border-radius: 4px;
  cursor: pointer;
}
.choices input:checked + span {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}
.choices input:focus-visible + span {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
label {
  display: block;
  font-weight: 600;
}
input:not([type="radio"]),
select,
textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px;
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 4px;
  margin: 8px 0 20px;
  font-weight: 400;
  max-width: 100%;
}
input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}
textarea {
  resize: vertical;
}
.service-list article {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  border-bottom: 1px solid var(--line);
  padding: 32px 0;
}
.service-list article h2 {
  font-size: 2rem;
}
.case-list article,
.guide-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
}
.case-list img,
.guide-item img {
  aspect-ratio: 1.4;
}
.case-list h2,
.guide-item h2 {
  font-size: 2.2rem;
}
.case-list h2 a,
.guide-item h2 a {
  text-decoration: none;
}
.case-detail {
  align-items: start;
}
.case-detail h2 {
  font-size: 1.5rem;
  margin-top: 20px;
}
.case-detail h2:first-child {
  margin-top: 0;
}
.article {
  max-width: 800px;
  margin: 0 auto 70px;
}
.article h2 {
  font-size: 1.85rem;
  margin: 40px 0 16px;
}
.article p {
  max-width: none;
}
.article .page-heading h1 {
  max-width: none;
}
.answer {
  font-size: 1.25rem;
  border-left: 3px solid var(--accent);
  padding-left: 22px;
}
.article pre,
#brief-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font:
    1rem/1.8 "Segoe UI",
    Arial,
    sans-serif;
  background: var(--panel);
  padding: 24px;
  border-radius: 4px;
}
.sources {
  margin-top: 40px;
  border-top: 1px solid var(--line);
}
.sources p {
  font-size: 0.8rem;
}
.article-cta {
  margin-top: 40px;
  padding: 25px;
  background: var(--panel);
}
.article-cta h2 {
  margin-top: 0;
}
.article-cta .text-link {
  display: block;
}
.inquiry-layout {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 80px;
  padding-top: 0;
}
.inquiry-layout fieldset {
  margin-top: 0;
}
.inquiry-aside {
  background: var(--panel);
  padding: 30px;
  height: fit-content;
  border-radius: 4px;
}
.inquiry-aside h2 {
  font-size: 1.65rem;
}
.inquiry-aside h3 {
  font-size: 1.2rem;
  margin-top: 30px;
}
.inquiry-aside ol {
  padding-left: 22px;
  color: var(--muted);
}
.inquiry-aside li {
  margin-bottom: 16px;
}
.optional-fields {
  border-block: 1px solid var(--line);
  padding: 18px 0;
  margin-bottom: 25px;
}
.optional-fields[open] summary {
  margin-bottom: 25px;
}
#brief-result {
  padding: 0;
}
#brief-result h2 {
  font-size: 2rem;
}
#brief-result .actions {
  gap: 10px;
}
[hidden] {
  display: none !important;
}
:root {
  --control-border: #78867c;
}
input:not([type="radio"]),
select,
textarea,
.choices span,
.secondary {
  border-color: var(--control-border);
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1d2420;
    --panel: #28332c;
    --text: #edf1ed;
    --muted: #b9c6be;
    --accent: #add1b8;
    --on-accent: #15291d;
    --line: #48574e;
    --control-border: #85988b;
    --focus: #eda589;
  }
  :root:not([data-theme="light"]) .brand-logo {
    filter: brightness(0) invert(.92);
  }
  .dropdown {
    box-shadow: none;
  }
  .notice {
    border-left-color: var(--accent);
  }
}
:root[data-theme="dark"] {
  --bg: #1d2420;
  --panel: #28332c;
  --text: #edf1ed;
  --muted: #b9c6be;
  --accent: #add1b8;
  --on-accent: #15291d;
  --line: #48574e;
  --control-border: #85988b;
  --focus: #eda589;
  color-scheme: dark;
}
:root[data-theme="dark"] .brand-logo {
  filter: brightness(0) invert(.92);
}
:root[data-theme="light"] {
  --bg: #fcfcfa;
  --panel: #f0f2ee;
  --text: #222c27;
  --muted: #546059;
  --accent: #215d47;
  --on-accent: #fff;
  --line: #d8dfd9;
  --control-border: #78867c;
  --focus: #b84b28;
  color-scheme: light;
}
#theme-toggle {
  background: transparent;
  border: 1px solid var(--control-border);
  color: var(--text);
  border-radius: 4px;
  padding: 8px 12px;
}
@media (prefers-reduced-motion: no-preference) {
  .button,
  .secondary {
    transition:
      background 0.2s,
      transform 0.2s;
  }
  .button:active,
  .secondary:active {
    transform: translateY(1px);
  }
  .hero-copy {
    animation: enter 0.5s ease-out;
  }
  @keyframes enter {
    from {
      opacity: 0.65;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (max-width: 1100px) {
  .site-header {
    flex-wrap: wrap;
  }
  .site-header nav {
    order: 3;
    width: 100%;
    justify-content: center;
  }
  .site-header {
    gap: 12px;
  }
  .hero {
    gap: 30px;
  }
  .hero h1 {
    font-size: 3.2rem;
  }
  .guide-list .text-card {
    grid-template-columns: 1fr 1fr;
  }
  .guide-list .text-card > .text-link {
    grid-column: 1/-1;
  }
  .inquiry-layout {
    gap: 35px;
  }
  .customizer {
    gap: 30px;
  }
}
@media (max-width: 767px) {
  main {
    padding: 0 20px;
  }
  .site-header {
    padding: 14px 20px;
  }
  .brand {
    font-size: 1.4rem;
  }  .brand-logo {
    width: 142px;
  }
  .site-header > .button {
    padding: 8px 9px;
    font-size: 0.7rem;
    min-height: 38px;
  }
  .site-header > p { margin:0; }
  .site-header > p > .button { min-height:38px; padding:8px 9px; font-size:.7rem; }
  .site-header .brand-logo {
    width: 118px;
  }
  .site-header nav {
    justify-content: flex-start;
    gap: 18px;
    font-size: 0.82rem;
    flex-wrap: wrap;
  }
  .dropdown {
    left: 0;
  }
  .hero,
  .split-heading,
  .product-detail,
  .customizer,
  .case-detail {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-top: 30px;
  }
  .hero h1 {
    font-size: 2.8rem;
  }
  .hero-copy p {
    font-size: 1rem;
    margin: 18px 0 25px;
  }
  .hero figure img {
    aspect-ratio: 1.2;
  }
  .hero .actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 10px;
  }
  .hero .actions .button,
  .hero .actions .text-link {
    max-width: 100%;
    white-space: normal;
  }
  .custom-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .custom-strip h2 {
    grid-column: 1/-1;
  }
  section {
    padding: 42px 0;
  }
  .category-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .category,
  .category:nth-child(-n + 2) {
    grid-column: auto;
  }
  .category img {
    aspect-ratio: 1.5;
  }
  .process-section,
  .feature-case,
  .two-columns,
  .inquiry-layout,
  .service-list article,
  .case-list article,
  .guide-item {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .process {
    margin-top: 10px;
  }
  .guide-list .text-card {
    display: block;
  }
  .guide-list .text-card > .text-link {
    margin-top: 6px;
  }
  .format-grid {
    grid-template-columns: 1fr;
  }
  .closing {
    padding: 28px;
    margin-bottom: 42px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }
  .footer-top > div:first-child {
    grid-column: 1/-1;
  }
  .footer-bottom {
    display: block;
  }
  .footer-bottom > * {
    display: block;
    margin-bottom: 10px;
  }
  footer {
    padding: 35px 20px 20px;
  }
  .filters {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .page-heading {
    padding-top: 35px;
  }
  .page-heading h1 {
    font-size: 2.5rem;
  }
  .customizer > div:first-child {
    position: static;
  }
  .product-detail > figure {
    order: 2;
  }
  .product-detail > div {
    display: contents;
  }
  .product-detail > div > * {
    order: 3;
  }
  .product-detail > div > .category-name {
    order: 0;
    margin: 0;
  }
  .product-detail > div > h1 {
    order: 1;
    margin: 0;
  }
  .product-detail h1 {
    font-size: 2.5rem;
  }
  .inquiry-aside {
    padding: 24px;
  }
  .case-list h2,
  .guide-item h2 {
    font-size: 1.8rem;
  }
  .article pre,
  #brief-text {
    padding: 16px;
  }
  .article .page-heading h1 {
    font-size: 2.4rem;
  }
  .button {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
  .crumb {
    font-size: 0.75rem;
  }
}

/* Editorial homepage: visible buyer information, no scroll-dependent reveals. */
.visual-customization { border-top:1px solid var(--line); }
.sample-library { padding-bottom:0; }
.sample-explorer { display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:start; border-top:1px solid var(--line); padding:40px 0; }
.sample-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sample-choice { display:block; color:var(--text); text-decoration:none; padding:5px; border:2px solid transparent; transition:border-color .18s,transform .18s; }
.sample-choice:hover,.sample-choice:focus-visible { border-color:var(--accent); outline:2px solid var(--accent); outline-offset:2px; }
.sample-choice[aria-pressed=true] { border-color:var(--accent); background:var(--panel); }
.sample-choice strong { display:block; font-size:.9rem; margin-top:9px; }
.sample-choice small { display:block; font-size:.72rem; color:var(--muted); margin:5px 0; }
.atlas-window { display:block; position:relative; overflow:hidden; aspect-ratio:1; background:#eee7db; }
.atlas-window img { position:absolute; width:300%; max-width:none; height:200%; object-fit:fill; left:0; top:0; }
.tile-1 img,.tile-4 img { left:-100%; }.tile-2 img,.tile-5 img { left:-200%; }
.tile-3 img,.tile-4 img,.tile-5 img { top:-100%; }
.sample-preview { min-width:0; }
.sample-caption { padding:24px; background:var(--panel); min-height:245px; }
.sample-caption h3 { margin:12px 0; }.sample-caption p { font-size:.9rem; }
.sample-check { border-left:2px solid var(--accent); padding-left:12px; }
.sample-selection { display:grid; grid-template-columns:1fr auto; gap:24px; background:var(--panel); padding:28px; }
.sample-clear { display:block; margin-top:14px; min-height:44px; border:0; background:transparent; color:var(--text); text-decoration:underline; cursor:pointer; }
@media(max-width:767px) {
 .sample-explorer { grid-template-columns:1fr; gap:20px; padding:28px 0; }
 .sample-grid { gap:6px; }.sample-choice strong { font-size:.78rem; }
 .sample-choice small { font-size:.65rem; }.sample-caption { padding:20px; min-height:0; }
 .sample-selection { grid-template-columns:1fr; padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .sample-choice { transition:none; } }
.visual-workbench { display:grid; grid-template-columns:1.65fr 1fr; gap:48px; align-items:center; }
.visual-stage { position:relative; background:#eee8dd; }
.visual-photo { position:relative; }
.part-marker,.part-button-label { display:none; }
.visual-stage img { width:100%; aspect-ratio:1.5; object-fit:contain; }
.part-dot { position:absolute; width:44px; height:44px; display:grid; place-items:center; border:2px solid #fff; border-radius:50%; background:#215d47; color:#fff; text-decoration:none; font-size:14px; font-weight:700; transform:translate(-50%,-50%); box-shadow:0 2px 12px #172e2340; }
.part-dot:hover,.part-dot:focus-visible { background:#a24b2b; }
.part-sleeve { left:25%; top:36%; }.part-tray { left:59%; top:62%; }.part-insert { left:44%; top:56%; }.part-tab { left:51%; top:72%; }
.visual-controls h3 { font-size:clamp(1.7rem,2.5vw,2.6rem); }
.visual-look-controls { display:flex; flex-direction:column; gap:10px; margin:24px 0; }
.look-option { display:flex; gap:14px; align-items:center; width:100%; min-height:52px; border:1px solid var(--line); padding:10px 14px; text-decoration:none; color:var(--text); background:transparent; font:inherit; text-align:left; cursor:pointer; }
.look-option[aria-current] { border:2px solid var(--accent); padding:9px 13px; background:var(--panel); }
.look-swatch { width:28px; height:28px; border-radius:50%; border:1px solid #777; flex-shrink:0; }
.swatch-forest { background:#304c3d; }.swatch-ivory { background:#ede1cf; }.swatch-logo { background:linear-gradient(120deg,#6d5121,#f4daa0,#96722e); }
.swatch-navy { background:#243957; }.swatch-blush { background:#c18f82; }
@media(max-width:767px) {
 .visual-workbench { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
 .visual-controls { display:contents; }
 .visual-controls > .eyebrow { display:none; }
 .visual-controls h3 { grid-row:1; }
 .visual-look-controls { grid-row:2; margin:0; }
 .visual-workbench > div:first-child { grid-row:3; min-width:0; }
 .visual-look-note { grid-row:4; }
 .visual-enlarge { grid-row:5; }
 .visual-brief { grid-row:6; }
 .visual-controls > .helper { grid-row:7; }
 .visual-look-controls { display:grid; grid-template-columns:1fr 1fr; }
 .look-option { font-size:.85rem; gap:8px; }
 .visual-controls h3 { margin-bottom:10px; }
}
.visual-look-note { min-height:5.5em; font-size:.9rem; }
.visual-brief { display:flex; margin:18px 0; }
.part-legend { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:28px; }
.part-legend article { padding:22px 18px; background:var(--panel); scroll-margin-top:30px; }
.part-legend article > span { font-size:.75rem; color:var(--accent); }
.part-legend h3 { font-size:1.2rem; margin:12px 0; }.part-legend p { font-size:.85rem; margin:0; }
.part-legend .part-active,.part-legend article:target { outline:2px solid var(--accent); outline-offset:3px; }
.visual-samples { padding-bottom:0; }
.sample-enlarge { display:block; position:relative; text-decoration:none; }
.sample-enlarge > span { position:absolute; bottom:16px; right:16px; background:#fcfcfa; color:#222c27; padding:10px 14px; font-size:.85rem; }
.sample-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:24px; }
.sample-notes article > span { font-size:.7rem; letter-spacing:.1em; color:var(--accent); }.sample-notes h3 { margin:12px 0; }.sample-notes p { font-size:.9rem; }
.visual-disclaimer { padding:20px 0; margin:30px 0 0; border-top:1px solid var(--line); font-size:.8rem; max-width:none; }
@media(max-width:1000px) { .visual-workbench { gap:28px; grid-template-columns:1.3fr 1fr; } .part-legend { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .part-hotspots { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; }
 .part-dot { position:static; transform:none; width:auto; height:auto; min-height:48px; border-radius:4px; display:flex; justify-content:center; gap:8px; box-shadow:none; font-size:12px; }
 .part-button-label { display:inline; }
 .part-marker { position:absolute; display:grid; place-items:center; width:22px; height:22px; transform:translate(-50%,-50%); border:1px solid #fff; border-radius:50%; background:#215d47; color:white; font-size:11px; }
 .visual-workbench { grid-template-columns:1fr; gap:24px; }
 .visual-look-note { min-height:0; }
 .part-legend { gap:16px; }.part-legend article { padding:18px 14px; }
 .sample-notes { grid-template-columns:1fr; gap:8px; }.sample-notes article { border-bottom:1px solid var(--line); padding-bottom:8px; }
 .visual-samples { padding-top:42px; }
}
.scope-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 32px; }
.scope-item { position:relative; border-top:1px solid var(--line); padding:28px 0 32px; }
.scope-number { display:block; color:var(--accent); font-size:.8rem; margin-bottom:30px; font-variant-numeric:tabular-nums; }
.scope-item h3 { font-size:1.45rem; }
.scope-item p { font-size:.9rem; }
.scope-item .scope-choices { color:var(--text); font-weight:600; }
.scope-item dl { font-size:.85rem; margin-top:22px; }
.scope-item dt { font-weight:600; margin-top:16px; }
.scope-item dd { margin:6px 0 0; color:var(--muted); }
.scope-item:target { outline:2px solid var(--accent); outline-offset:8px; }
@media(max-width:1100px) { .scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .scope-grid { grid-template-columns:1fr; } .scope-number { margin-bottom:14px; } }
.showroom-products { display:grid; grid-template-columns:1.6fr 1fr; gap:40px; }
.showroom-products a { text-decoration:none; display:block; }
.showroom-feature { align-self:start; position:static; }
.showroom-products h3 { font-size:clamp(1.5rem,2.5vw,2.7rem); margin:10px 0; }
.showroom-products a > span { display:block; margin-top:18px; font-size:.75rem; color:var(--muted); }
.showroom-secondary { display:grid; gap:40px; }
.showroom-secondary img { aspect-ratio:1.7; object-fit:cover; }
.showroom-products img { transition:filter .25s ease; }
.showroom-products a:hover img { filter:brightness(1.04); }
.showroom-products a:hover h3 { text-decoration:underline; text-underline-offset:6px; }
.drawer-showroom { display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(30px,5vw,80px); align-items:start; padding-top:32px; }
.drawer-summary h1 { font-size:clamp(2.7rem,4.5vw,4.7rem); }
.drawer-summary h2 { font-size:1.1rem; letter-spacing:0; margin:24px 0 14px; }
.drawer-summary > .text-link { display:block; margin:12px 0; }
.product-gallery { min-width:0; }
#gallery-frame img { aspect-ratio:1.25; object-fit:contain; background:var(--panel); }
.gallery-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:16px 0; }
.gallery-controls button,.gallery-controls a { font:inherit; font-size:.8rem; padding:10px 14px; border:1px solid var(--line); background:var(--bg); color:var(--text); cursor:pointer; }
.gallery-controls button[aria-pressed="true"] { background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
.product-facts { margin:26px 0; }
.product-facts > div,.specification-list > div { display:grid; grid-template-columns:1fr 1.5fr; gap:18px; border-top:1px solid var(--line); padding:16px 0; }
.product-facts dt,.specification-list dt { font-weight:600; }
.product-facts dd,.specification-list dd { margin:0; color:var(--muted); }
.product-facts { font-size:.85rem; }
.drawer-details { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.detail-notes article { border-top:1px solid var(--line); padding:28px 0; }
.detail-notes article > span { display:block; font-size:.7rem; letter-spacing:.1em; margin-bottom:16px; }
.image-dialog { width:min(1100px,94vw); max-height:94dvh; padding:16px; border:1px solid var(--line); background:var(--bg); color:var(--text); }
.image-dialog::backdrop { background:rgba(18,28,23,.8); }
.image-dialog button { font:inherit; display:block; margin:0 0 12px auto; padding:10px 16px; cursor:pointer; background:var(--accent); color:var(--on-accent); border:0; }
.image-dialog img { max-height:78dvh; object-fit:contain; }
.button,.text-link { transition:background-color .2s ease,color .2s ease,transform .2s ease; }
.button:active { transform:translateY(1px); }
@media (max-width:767px) {
  .showroom-products,.drawer-showroom,.drawer-details { grid-template-columns:1fr; gap:28px; }
  .showroom-feature { position:static; }
  .showroom-secondary { grid-template-columns:1fr 1fr; gap:16px; }
  .showroom-secondary h3 { font-size:1.25rem; }
  .showroom-secondary img { aspect-ratio:1; }
  .product-facts > div,.specification-list > div { grid-template-columns:1fr; gap:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .showroom-products img,.button,.text-link { transition:none; }
}
.eyebrow { display:block; font-size:.7rem; font-weight:650; letter-spacing:.14em; margin-bottom:22px; color:var(--accent); }
.hero-editorial { gap:clamp(32px,5vw,90px); padding:52px 0 26px; }
.hero-editorial h1 { font-size:clamp(3.6rem,5vw,4.2rem); max-width:16ch; line-height:1.03; letter-spacing:-.055em; }
.hero-editorial .hero-copy > p { max-width:45ch; }
.hero-paths { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:28px 0 0; }
.hero-paths article { padding:18px; border:1px solid var(--line); background:var(--panel); }
.hero-paths h2 { font-size:1.12rem; line-height:1.2; margin:0 0 10px; letter-spacing:-.02em; }
.hero-paths p { font-size:.9rem; line-height:1.5; margin-bottom:16px; }
.hero-paths .button { min-height:46px; }
.proof-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:10px 0 24px; }
.proof-strip article { display:flex; flex-direction:column; gap:4px; padding:16px 20px; background:var(--panel); border:1px solid var(--line); }
.proof-strip article strong { font-size:.9rem; }
.proof-strip article span { color:var(--muted); font-size:.85rem; line-height:1.5; }
.hero-editorial .hero-copy .hero-note { font-size:.8rem; line-height:1.8; margin:28px 0 0; }
.hero-stage { position:relative; min-width:0; background:var(--panel); }
.hero-editorial .hero-stage img { aspect-ratio:1.08; border-radius:0; }
.hero-stage figcaption { padding:12px 18px; }
.hero-product-link { display:flex; flex-direction:column; padding:18px 24px 24px; text-decoration:none; border-top:1px solid var(--line); }
.hero-product-link span { font-size:.75rem; color:var(--muted); }
.hero-product-link strong { font-size:1.2rem; font-weight:550; }
.hero-customization-entry { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:18px 24px; border-top:1px solid var(--line); }
.hero-customization-entry > span { font-size:.75rem; color:var(--muted); }
.hero-customization-entry > div { display:flex; gap:8px; }
.hero-swatch { width:24px; height:24px; border-radius:50%; border:1px solid #777; }
.visual-customization,.customization-scope { scroll-margin-top:24px; }
.format-rail { display:flex; flex-wrap:wrap; gap:12px 28px; padding:22px 0; border-bottom:1px solid var(--line); }
.format-rail a { text-decoration:none; padding:8px 0; font-weight:600; font-size:.95rem; }
.format-rail a:hover,.hero-product-link:hover strong { text-decoration:underline; text-underline-offset:5px; }
.section-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:end; margin-bottom:40px; }
.section-heading h2 { margin-bottom:0; }
.section-heading > p { max-width:42ch; margin-bottom:0; }
.buyer-start,.buyer-answers { display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(32px,7vw,110px); align-items:start; border-top:1px solid var(--line); }
.buyer-start { background:var(--panel); padding:clamp(28px,3.2vw,48px); margin:20px 0 48px; }
.buyer-paths article,.answer-list article { padding:20px 0; border-top:1px solid var(--line); }
.buyer-paths article:first-child,.answer-list article:first-child { padding-top:0; border-top:0; }
.buyer-paths article:last-child,.answer-list article:last-child { padding-bottom:0; }
.buyer-paths article > span { display:block; color:var(--accent); font-size:.7rem; letter-spacing:.12em; margin-bottom:14px; }
.buyer-paths p,.answer-list p { margin-bottom:8px; }
.buyer-answers h3 { font-size:1.3rem; }
@media (min-width:1600px) { .site-header { max-width:1520px; } }
@media (max-width:1000px) {
  .hero-editorial { gap:30px; }
  .hero-editorial h1 { font-size:clamp(3rem,5.6vw,5rem); }
  .section-heading { gap:30px; }
}
@media (max-width:767px) {
  .hero-editorial { grid-template-columns:1fr; padding-top:30px; }
  .hero-editorial h1 { font-size:clamp(2.8rem,10.5vw,4.2rem); }
  .hero-editorial .eyebrow { font-size:.62rem; letter-spacing:.09em; margin-bottom:16px; }
  .hero-editorial .hero-copy .hero-note { margin-top:18px; }
  .hero-paths { grid-template-columns:1fr; gap:10px; margin-top:20px; }
  .hero-paths article { padding:16px; }
  .hero-paths p { margin-bottom:10px; }
  .hero-editorial h1 { font-size:clamp(2.45rem,10vw,3.2rem); line-height:1.04; }
  .proof-strip { grid-template-columns:1fr; gap:8px; margin:10px 0 20px; }
  .proof-strip article { padding:14px 16px; }
  .hero-editorial .hero-stage img { aspect-ratio:1.3; }
  .hero-customization-entry { grid-template-columns:1fr; padding:16px; }
  .hero-customization-entry > div { flex-wrap:wrap; }
  .hero-customization-entry .text-link { grid-column:auto; }
  .format-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 18px; padding:16px 0; }
  .format-rail a { font-size:.85rem; }
  .section-heading,.buyer-start,.buyer-answers { grid-template-columns:1fr; gap:28px; }
  .section-heading { margin-bottom:28px; }
  .buyer-start { padding:28px 20px; margin:8px 0 42px; }
}

/* Review refinements: visible state and shorter, purpose-led mobile paths. */
.branding-example { border-top:1px solid var(--line); padding-top:18px; margin-top:20px; }
.branding-example .eyebrow { margin-bottom:8px; }
.branding-example .look-option { margin-top:12px; }
.reference-summary { padding:22px; border:1px solid var(--accent); background:var(--panel); margin-bottom:28px; }
.reference-summary h2 { font-size:1.3rem; }
.reference-summary p { overflow-wrap:anywhere; }
.sample-selected-label { font-size:.9rem; font-weight:650; color:var(--accent); }
.sample-choice { position:relative; }
.sample-choice[aria-pressed=true]::after { content:'✓ Selected'; position:absolute; top:8px; left:8px; padding:4px 7px; background:var(--accent); color:var(--on-accent); font-size:.7rem; font-weight:700; }
.catalogue-card { display:flex; flex-direction:column; }
.catalogue-card { transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.catalogue-card:hover, .catalogue-card:focus-within { border-color:#1d5948; background-color:#f4f8f3; box-shadow:0 8px 22px rgba(18,53,40,.08); }
.catalogue-card > .category-name { order:-3; }
.catalogue-card > h3 { order:-2; margin-top:0; }
.catalogue-card > p:not(.category-name) { order:-1; }
.mobile-product-intro { display:none; }
@media(max-width:767px) {
 .branding-example { grid-row:5; margin:0; }
 .visual-enlarge { grid-row:6; }
 .visual-brief { grid-row:7; }
 .visual-controls > .helper { grid-row:8; }
 .mobile-product-intro { display:block; padding-top:20px; }
 .mobile-product-name { font-size:2rem; line-height:1.1; color:var(--text); margin:8px 0 16px; font-weight:650; }
 .mobile-product-intro .eyebrow { margin-bottom:12px; }
 .drawer-summary h1 { font-size:2rem; }
 .product-detail > div > h1 { font-size:clamp(2rem,8vw,2.8rem); line-height:1.08; }
 .product-detail > div > h1 { font-size:clamp(2rem,8vw,2.8rem); line-height:1.08; }
 .product-detail > div > h1 { font-size:clamp(2rem,8vw,2.8rem); line-height:1.08; }
}


/* Blog editorial layer: card-led archive and image-led article pages. */
.blog-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:clamp(36px,8vw,120px);align-items:end;padding:clamp(54px,8vw,112px) 0 56px;border-bottom:1px solid var(--line)}
.blog-hero h1{font-size:clamp(3.4rem,7vw,7rem);line-height:.92;letter-spacing:-.07em;margin:18px 0 24px;max-width:11ch}
.blog-hero h1 em{font-style:normal;color:var(--accent)}.blog-hero>div>p:not(.eyebrow){max-width:56ch;font-size:1.1rem;line-height:1.65;color:var(--muted)}
.blog-hero-note{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:4px}.blog-hero-note span{display:block;color:var(--accent);font-size:.7rem;letter-spacing:.14em;font-weight:800}.blog-hero-note strong{display:block;font-size:1.25rem;line-height:1.25;margin:18px 0 26px}.blog-topic-strip{display:flex;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.blog-topic-strip span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.blog-topic-strip a{color:var(--text);text-decoration:none;font-size:.88rem}.blog-topic-strip a:hover{text-decoration:underline;text-underline-offset:4px}.blog-featured,.blog-library{padding:64px 0}.blog-featured{border-bottom:1px solid var(--line)}.blog-featured-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:20px}.blog-card{background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.blog-card-image{display:block;position:relative;background:#e7e0d3;aspect-ratio:1.55;overflow:hidden}.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.blog-card-image:hover img{transform:scale(1.035)}.blog-card-image span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.9);color:var(--text);padding:7px 9px;font-size:.68rem}.blog-card-body{padding:22px 24px 25px}.blog-card-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--accent);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.blog-card-meta time,.blog-card-meta span:last-child{color:var(--muted);font-weight:600;letter-spacing:.03em}.blog-card h2{font-size:clamp(1.45rem,2.5vw,2.3rem);line-height:1.05;letter-spacing:-.04em;margin:16px 0 12px}.blog-card:not(.blog-card-featured) h2{font-size:1.45rem}.blog-card h2 a{text-decoration:none;color:inherit}.blog-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}.blog-card-body p{color:var(--muted);line-height:1.6;margin:0 0 19px}.blog-library .section-heading{margin-bottom:28px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.blog-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--panel);border:1px solid var(--line);padding:clamp(26px,5vw,52px);margin:0 0 80px}.blog-cta h2{font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.05em;margin:12px 0}.blog-cta p{color:var(--muted);margin:0}.post-cover{position:relative;max-width:1000px;margin:0 auto 34px;background:#e7e0d3;aspect-ratio:1.75;overflow:hidden}.post-cover img{width:100%;height:100%;object-fit:cover;display:block}.post-cover span{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);padding:9px 12px;font-size:.72rem}.post-header{max-width:880px;margin:0 auto 42px}.post-header h1{font-size:clamp(2.35rem,4.4vw,4.6rem);line-height:1.05;letter-spacing:-.055em;max-width:22ch;margin:20px 0}.post-header .lead{max-width:62ch;color:var(--muted);font-size:1.12rem;line-height:1.6}.post-content{max-width:800px;margin:0 auto}.post-content .article-figure{margin:34px -80px}.post-content .article-figure img{width:100%;display:block}.post-content .article-figure figcaption{font-size:.75rem;color:var(--muted);padding-top:8px}.blog-post .answer{background:var(--panel);padding:22px 24px;border-left:3px solid var(--accent);font-size:1.2rem}.blog-post .sources{background:var(--panel);padding:24px}.blog-post .sources h2{margin-top:0}.blog-post blockquote{margin:28px 0;padding:22px 26px;background:#edf4ef;border-left:3px solid var(--accent);font-size:1.05rem;line-height:1.6}.blog-post h3{font-size:1.2rem;margin:28px 0 10px}.blog-post ol,.blog-post ul{padding-left:24px;line-height:1.7}.blog-post li{margin:8px 0}
@media(max-width:900px){.blog-hero{grid-template-columns:1fr}.blog-featured-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-content .article-figure{margin:30px 0}.blog-cta{display:block}.blog-cta .button{display:inline-block;margin-top:22px}}
@media(max-width:560px){.blog-hero h1{font-size:3.45rem}.blog-grid{grid-template-columns:1fr}.blog-card-body{padding:18px}.post-header h1{font-size:2.35rem;line-height:1.08;max-width:20ch}.post-cover{aspect-ratio:1.35}.blog-topic-strip{gap:15px}}

/* PK-HOME-RESTORE-001: concise mobile start, visible customization and article previews. */
.home-restore-hero { padding-top:34px; padding-bottom:18px; }
.home-restore-hero .hero-copy > p { max-width:42ch; }
.home-restore-hero .hero-paths { margin-top:18px; }
.home-restore-hero .hero-paths article { padding:16px; }
.home-restore-hero .hero-paths h2 { font-size:1rem; }
.customization-summary { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:28px clamp(22px,4vw,48px); margin:34px 0 22px; border:1px solid var(--line); background:var(--panel); }
.customization-summary h2 { margin:8px 0; font-size:clamp(1.55rem,2.5vw,2.25rem); letter-spacing:-.035em; }
.customization-summary p { margin:0; max-width:58ch; color:var(--muted); }
.home-articles { padding:54px 0 70px; }
.home-articles .section-heading { align-items:end; }
.home-article-card .blog-card-image { aspect-ratio:1.5; }
.home-case-feature { margin-top:28px; }
.drawer-feature .editorial-image img { object-fit:cover; }
@media(max-width:767px) {
  .home-restore-hero { grid-template-columns:1fr; gap:16px; padding:22px 0 10px; }
  .home-restore-hero h1 { max-width:15ch; font-size:clamp(2.45rem,10vw,3.25rem); line-height:1.02; }
  .home-restore-hero .eyebrow { margin-bottom:10px; }
  .home-restore-hero .hero-copy > p { max-width:38ch; margin-bottom:0; font-size:.97rem; }
  .home-restore-hero .hero-paths { grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
  .home-restore-hero .hero-paths article { padding:12px 10px; }
  .home-restore-hero .hero-paths h2 { display:none; }
  .home-restore-hero .hero-paths .button { width:100%; min-height:44px; padding:9px; font-size:.76rem; }
  .home-restore-hero .hero-copy .hero-note { margin-top:8px; font-size:.8rem; }
  .home-restore-hero .hero-stage img { aspect-ratio:2; }
  .customization-summary { align-items:flex-start; flex-direction:column; gap:12px; margin-top:22px; padding:20px; }
  .customization-summary h2 { font-size:1.55rem; }
  .home-articles { padding:34px 0 42px; }
  .home-articles .section-heading { align-items:flex-start; }
  .home-article-card .blog-card-image { aspect-ratio:1.75; }
}
/* Blog directory refinement: compact index, fast scanning, smaller visual footprint. */
.blog-hero{grid-template-columns:minmax(0,1.7fr) minmax(220px,.55fr);padding:42px 0 34px;gap:42px}.blog-hero h1{font-size:clamp(3rem,5vw,5.4rem);max-width:15ch;margin:14px 0 16px}.blog-hero>div>p:not(.eyebrow){font-size:1rem;max-width:62ch}.blog-hero-note{padding:18px}.blog-hero-note strong{font-size:1.05rem;margin:12px 0 16px}.blog-topic-strip{padding:14px 0}.blog-directory{padding:42px 0 62px}.blog-directory .section-heading{margin-bottom:22px}.blog-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.blog-directory-grid .blog-card-image{aspect-ratio:1.72}.blog-directory-grid .blog-card-body{padding:16px 17px 18px}.blog-directory-grid .blog-card h2{font-size:1.25rem;line-height:1.1;margin:11px 0 9px;min-height:2.25em}.blog-directory-grid .blog-card-body p{font-size:.82rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:13px}.blog-directory-grid .blog-card-meta{gap:7px;font-size:.6rem}.blog-directory-grid .text-link{font-size:.78rem}.blog-directory + .blog-cta{margin-bottom:62px;padding:28px 34px}.blog-directory + .blog-cta h2{font-size:1.8rem;margin:8px 0}.blog-featured{display:none}
@media(max-width:1100px){.blog-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.blog-hero{grid-template-columns:1fr;padding-top:34px}.blog-hero-note{max-width:360px}.blog-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.blog-hero{grid-template-columns:minmax(0,1fr)}.blog-hero>div{min-width:0}.blog-hero h1{font-size:clamp(2.4rem,10vw,2.8rem);max-width:100%;line-height:1.02}.blog-directory-grid{grid-template-columns:1fr}.blog-directory + .blog-cta{padding:24px 20px}}

/* PK-HOME-RESTORE-001 revision 4: prominent, persistent WhatsApp contact. */
.page-scroll { display:contents; }
body.has-contact-dock { padding-bottom:112px; }
.contact-dock {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:40;
  display:flex;
  width:260px;
  max-width:calc(100vw - 32px);
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.contact-dock-chat {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:68px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--accent);
  color:var(--on-accent);
  box-shadow:0 10px 28px rgb(18 39 29 / 24%);
  font-size:1rem;
  font-weight:750;
  line-height:1.2;
  text-decoration:none;
}
.contact-dock-chat:hover { background:#174a38; color:#fff; }
.contact-dock-chat svg { width:26px; height:26px; flex:0 0 26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-dock-chat svg path + path { fill:currentColor; stroke:none; }
.contact-dock-chat span { font-size:inherit; line-height:1.2; }
html.nav-open .contact-dock,
html.contact-dock-input-focused .contact-dock { display:none; }
@media(min-width:768px) {
  .contact-dock { right:12px; bottom:14px; width:44px; max-width:44px; }
  .contact-dock-chat { width:44px; min-height:44px; height:44px; padding:0; border-radius:50%; }
  .contact-dock-chat span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
}
@media(max-width:767px) {
  html:has(body.has-contact-dock) { height:100%; overflow:hidden; }
  body.has-contact-dock { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100dvh; min-height:0; overflow:hidden; padding:0; }
  body.admin-bar.has-contact-dock { height:calc(100dvh - 46px); }
  body.has-contact-dock > .site-header { grid-row:1; }
  body.has-contact-dock > .page-scroll { display:block; grid-row:2; min-height:0; overflow-y:auto; overflow-x:clip; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  body.has-contact-dock > .contact-dock { position:relative; grid-row:3; left:auto; right:auto; bottom:auto; width:100%; max-width:none; margin:0; padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px)); background:var(--bg); border-top:1px solid var(--line); border-radius:0; box-shadow:0 -4px 16px rgb(18 39 29 / 8%); }
  .contact-dock-chat { min-height:48px; padding:8px 16px; font-size:.9rem; }
  .contact-dock-chat svg { width:24px; height:24px; flex-basis:24px; }
}

.packrivo-next-steps { margin:22px 0 28px; padding:18px 22px; background:var(--panel); border-left:3px solid var(--accent); }
.packrivo-next-steps h2 { margin:0 0 12px; font-size:1.2rem; letter-spacing:-.02em; }
.packrivo-next-steps ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 24px; margin:0; padding-left:22px; }
.packrivo-next-steps li { padding-left:2px; color:var(--text); font-size:.9rem; }
@media(max-width:767px) {
  .packrivo-next-steps { margin:18px 0 24px; padding:16px; }
  .packrivo-next-steps ol { grid-template-columns:1fr; gap:6px; }
  .packrivo-next-steps li { font-size:.88rem; }
}

/* Product pages: make the first screen a readable buyer summary. */
.packrivo-native-page .product-detail {
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  gap:clamp(32px,5vw,76px);
  align-items:start;
  padding-top:clamp(28px,4vw,54px);
}
.packrivo-native-page .product-detail > figure { margin:0; }
.packrivo-native-page .product-detail > figure img { aspect-ratio:1.18; object-fit:cover; }
.packrivo-native-page .product-detail > div { min-width:0; }
.packrivo-native-page .product-detail h1 { max-width:15ch; font-size:clamp(2.8rem,4.5vw,5rem); line-height:1; letter-spacing:-.055em; }
.product-purchase-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0 12px; padding:0; }
.product-purchase-card { min-width:0; padding:16px 17px; border:1px solid var(--line); background:var(--panel); }
.product-purchase-card h2 { margin:0 0 8px !important; color:var(--accent); font-size:.76rem !important; line-height:1.25; letter-spacing:.08em !important; text-transform:uppercase; }
.product-purchase-card p { margin:0; color:var(--text); font-size:1rem; line-height:1.48; }
.product-purchase-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:10px 0 4px; }
.product-purchase-actions .button { min-height:52px; padding:15px 24px; }
.product-summary-boundary { margin:0; color:var(--muted); font-size:.78rem; line-height:1.45; }
.product-support-note { margin:8px 0 0; color:var(--muted); font-size:.88rem; line-height:1.45; }
.product-support-note strong { color:var(--text); }
.product-explainer { max-width:1000px; margin:34px 0 44px; }
.product-explainer img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:4px; }
.product-explainer figcaption { max-width:76ch; padding-top:10px; color:var(--muted); font-size:.83rem; line-height:1.5; }
@media(max-width:900px) {
  .packrivo-native-page .product-detail { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
  .packrivo-native-page .product-detail h1 { font-size:clamp(2.5rem,5vw,4rem); }
}
@media(max-width:767px) {
  .site-header nav { flex-wrap:nowrap; justify-content:flex-start; width:100%; overflow-x:auto; white-space:nowrap; gap:5px; font-size:.74rem; scrollbar-width:none; }
  .site-header nav::-webkit-scrollbar { display:none; }
  .site-header nav > * { flex:0 0 auto; }
  .site-header nav > p { gap:5px; }
  .site-header nav a,
  .site-header nav summary { min-height:30px; }
  .site-header nav > details { margin-right:0; }
  .site-header nav > a + a { margin-left:0; }
  .packrivo-native-page .site-header { padding-bottom:8px; }
  .packrivo-native-page .crumb { padding-top:18px; }
  .packrivo-native-page .crumb > span:nth-last-child(2),
  .packrivo-native-page .crumb > [aria-current="page"] { display:none; }
  .packrivo-native-page .product-detail { display:flex; flex-direction:column; gap:18px; padding-top:16px; }
  .packrivo-native-page .product-detail > figure { order:0; width:100%; }
  .packrivo-native-page .product-detail > figure img { aspect-ratio:2.2; }
  .packrivo-native-page .product-detail > figure figcaption { max-width:68ch; font-size:.72rem; line-height:1.4; }
  .packrivo-native-page .product-detail > div { display:block; order:1; width:100%; }
  .packrivo-native-page .product-detail > div > * { order:initial; }
  .packrivo-native-page .product-detail > div > .category-name { margin:0 0 8px; }
  .packrivo-native-page .product-detail > div > h1 { margin:0 0 12px; font-size:clamp(2.25rem,9vw,3.2rem); line-height:1.04; }
  .packrivo-native-page .product-detail .lead { margin:0 0 12px; font-size:1.02rem; line-height:1.42; }
  .packrivo-native-page .product-detail .notice { margin:8px 0 0; padding:10px 12px; font-size:.82rem; }
  .product-purchase-summary { gap:7px; margin:10px 0 6px; }
  .product-purchase-card { padding:8px; }
  .product-purchase-card h2 { margin-bottom:5px !important; }
  .product-purchase-card p { font-size:.8rem; line-height:1.3; }
  .product-support-note { margin-top:7px; font-size:.76rem; line-height:1.3; }
  .product-purchase-actions { width:100%; }
  .product-purchase-actions .button { width:100%; text-align:center; }
  .product-explainer { margin:24px 0 32px; }
}
@media(max-width:390px) {
  .product-purchase-card { padding:8px; }
  .product-purchase-card h2 { margin-bottom:5px !important; font-size:.69rem !important; }
  .product-purchase-card p { font-size:.78rem; line-height:1.28; }
}


/* Global Packrivo navigation enhancement: sticky header, hover state and image-led product menu. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--bg);
  box-shadow: 0 4px 16px rgba(22, 47, 34, .06);
}
.site-header nav > details.product-menu { position: static; }
.site-header nav > details.product-menu.resources-menu { position: relative; }
.site-header nav > details.product-menu > summary {
  position: relative;
  border-radius: 5px;
  padding: 9px 10px;
  transition: color .16s ease, background-color .16s ease;
}
.site-header nav > a,
.site-header nav > p > a,
.site-header nav > details.product-menu > summary { transition: color .16s ease, background-color .16s ease; }
.site-header nav > p > a { display:inline-block; padding:9px 10px; margin:-9px -10px; border-radius:5px; }
.site-header nav > a:hover,
.site-header nav > a:focus-visible,
.site-header nav > p > a:hover,
.site-header nav > p > a:focus-visible,
.site-header nav > details.product-menu:hover > summary,
.site-header nav > details.product-menu:focus-within > summary,
.site-header nav > details.product-menu[open] > summary {
  color: #fff;
  background: var(--accent);
  box-shadow: 0 6px 16px rgba(28, 75, 58, .16);
}
.site-header nav > details.product-menu > summary::before {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 4px;
  height: 2px;
  border-radius: 2px;
  background: #aa6648;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .16s ease;
}
.site-header nav > details.product-menu:hover > summary::before,
.site-header nav > details.product-menu:focus-within > summary::before,
.site-header nav > details.product-menu[open] > summary::before { transform: scaleX(1); }
.site-header nav > details.product-menu .dropdown.dropdown-mega,
.site-header nav > details.product-menu .dropdown.dropdown-resources {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 61;
  width: min(1200px, calc(100vw - 48px));
  margin: 0 auto;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 0 0 10px 10px;
  background: var(--bg);
  box-shadow: 0 18px 42px rgba(22, 47, 34, .14);
}
.site-header nav > details.product-menu .dropdown.dropdown-mega { display: block; }
.site-header .dropdown-mega { white-space: normal; }
.site-header .dropdown-mega .mega-menu { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 20px; }
.site-header .dropdown-mega .mega-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 0 15px; }
.site-header .dropdown-mega .mega-heading h2 { margin: 0; font-size: 21px; }
.site-header .dropdown-mega .mega-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.site-header .dropdown-mega .mega-categories { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.site-header .dropdown-mega .mega-card { display: block; min-width: 0; padding: 8px; border: 1px solid transparent; border-radius: 8px; background: var(--panel); }
.site-header .dropdown-mega .mega-card:hover,
.site-header .dropdown-mega .mega-card:focus-visible { border-color: #9cb29f; background: #edf3ed; }
.site-header .dropdown-mega .mega-card img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 5px; background: #eef1eb; }
.site-header .dropdown-mega .mega-card strong { display: block; margin: 8px 2px 2px; font-size: 12px; line-height: 1.25; }
.site-header .dropdown-mega .mega-card small,
.site-header .dropdown-mega .mega-card .concept-label { display: block; margin: 3px 2px; color: var(--muted); font-size: 10px; line-height: 1.3; }
.site-header .dropdown-mega .mega-aside { display: flex; flex-direction: column; justify-content: space-between; padding: 18px; border-radius: 8px; background: var(--accent); color: #fff; }
.site-header .dropdown-mega .mega-aside p { color: #d8e5dc; font-size: 12px; }
.site-header .dropdown-mega .mega-aside h3 { font-size: 23px; line-height: 1.15; }
.site-header .dropdown-mega .mega-aside .aside-kicker { color: #c4d8cb; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.site-header .dropdown-mega .mega-aside a,
.site-header .dropdown-mega .mega-all { display: inline-flex; width: max-content; padding: 9px 12px; border-radius: 5px; color: var(--accent); background: var(--bg); font-size: 12px; font-weight: 700; }
.site-header .dropdown-mega .mega-all { margin-top: 14px; text-decoration: underline; text-underline-offset: 3px; }
.site-header nav > details.product-menu.resources-menu > .dropdown { position:absolute; top:100%; left:0; right:auto; width:270px; max-width:calc(100vw - 48px); margin:0; padding:10px; white-space:normal; border-radius:0 0 8px 8px; }
.site-header .dropdown-resources a { padding: 12px; border-radius: 6px; }
.site-header .dropdown-resources a:hover,
.site-header .dropdown-resources a:focus-visible { color: var(--accent); background: var(--panel); }
@media (max-width: 860px) {
  .site-header nav > details.product-menu .dropdown.dropdown-mega,
  .site-header nav > details.product-menu.resources-menu > .dropdown {
    position: static;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 12px;
    border-radius: 6px;
    box-shadow: none;
  }
  .site-header .dropdown-mega .mega-menu { grid-template-columns: 1fr; padding: 0; }
  .site-header .dropdown-mega .mega-aside { display: none; }
  .site-header .dropdown-mega .mega-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .site-header .dropdown-mega .mega-heading { align-items: start; flex-direction: column; }
}

/* The mobile drawer must own its width and scroll vertically. A horizontal
   flex rail lets the mega menu's images set a multi-thousand-pixel width. */
@media (max-width: 767px) {
  .site-header nav.is-open {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 4px;
    width: 100%;
    max-height: min(62dvh, 540px);
    overflow-x: hidden;
    overflow-y: auto;
    white-space: normal;
    overscroll-behavior: contain;
  }
  .site-header nav.is-open > details,
  .site-header nav.is-open > a {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .site-header nav.is-open > details.product-menu .dropdown.dropdown-mega {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
  .site-header nav.is-open .dropdown-mega .mega-menu,
  .site-header nav.is-open .dropdown-mega .mega-main,
  .site-header nav.is-open .dropdown-mega .mega-categories {
    min-width: 0;
  }
  .site-header nav.is-open .dropdown-mega .mega-card img { max-width: 100%; }
}
@media (min-width: 768px) and (max-width: 860px) {
  .site-header nav > details.product-menu .dropdown.dropdown-mega {
    position: absolute;
    top: 100%;
    left: 24px;
    right: 24px;
    width: calc(100vw - 48px);
    max-width: none;
    margin: 0;
  }
  .site-header .dropdown-mega .mega-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Phone navigation is an overlay drawer. WordPress may wrap header anchors in
   paragraphs, so the open drawer styles both direct links and wrapped links. */
.site-header .mobile-nav-brief { display: none; }
@media (max-width: 767px) {
  .site-header { min-height: 72px; }
  html.enhanced-nav .site-header > .button,
  html.enhanced-nav .site-header > .header-brief-wrap { display: none; }
  .site-header nav.is-open {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 70;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-height: calc(100dvh - 72px - env(safe-area-inset-bottom, 0px));
    padding: 10px 20px 20px;
    overflow-x: hidden;
    overflow-y: auto;
    white-space: normal;
    background: var(--bg);
    border-top: 1px solid var(--line);
    box-shadow: 0 20px 35px rgba(17, 42, 32, .14);
  }
  .site-header nav.is-open > p {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin: 0;
  }
  .site-header nav.is-open > details,
  .site-header nav.is-open > a,
  .site-header nav.is-open > p > a {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    margin: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    white-space: normal;
  }
  .site-header nav.is-open > a,
  .site-header nav.is-open > p > a,
  .site-header nav.is-open > details > summary {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 4px;
    font-size: 1rem;
    text-decoration: none;
  }
  .site-header nav.is-open > details > summary { border-radius: 0; }
  .site-header nav.is-open > details.product-menu:not([open]) > summary {
    color: var(--text);
    background: transparent;
    box-shadow: none;
  }
  .site-header nav.is-open > details.product-menu:not([open]) > summary::before,
  .site-header nav.is-open > details.product-menu[open] > summary::before { transform: scaleX(0); }
  .site-header nav.is-open > details.product-menu[open] > summary {
    color: var(--accent);
    background: transparent;
    box-shadow: none;
    font-weight: 700;
  }
  .site-header nav.is-open > details.product-menu[open] > summary::after { transform: rotate(180deg); }
  .site-header nav.is-open > details.product-menu .dropdown.dropdown-mega {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 12px 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .site-header nav.is-open > a.mobile-nav-brief {
    display: flex;
    justify-content: center;
    min-height: 48px;
    margin-top: 12px;
    padding: 12px;
    color: var(--on-accent);
    background: var(--accent);
    border: 0;
    border-radius: 4px;
    font-weight: 700;
  }
  html.nav-open body.has-contact-dock > .page-scroll { overflow-y: hidden; }
}

/* Larger, legible WhatsApp CTA; account card is a separate pending-asset change. */
.contact-dock .contact-dock-chat { flex-direction:row; align-items:center; justify-content:center; min-height:56px; }
@media(min-width:768px) {
 .contact-dock { right:24px; bottom:24px; width:260px; max-width:260px; }
 .contact-dock .contact-dock-chat { width:260px; min-height:68px; height:68px; padding:12px 20px; gap:12px; font-size:18px; border:2px solid var(--bg); border-radius:999px; }
 .contact-dock-chat svg { width:34px; height:34px; flex-basis:34px; }
 .contact-dock-chat span { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:nowrap; font-size:18px; }
}
@media(max-width:767px) {
 .contact-dock .contact-dock-chat { min-height:56px; font-size:17px; }
 .contact-dock-chat svg { width:28px; height:28px; flex-basis:28px; }
}

/* Packrivo scoped UI refinement, 2026-10-13. Keep existing brand and tokens. */
:root {
  --ui-space-sm: 1rem;
  --ui-space-md: 1.5rem;
  --ui-space-lg: 3rem;
  --ui-radius: 8px;
  --ui-error: #b3261e;
}
:root[data-theme="dark"] { --ui-error: #ffb4ab; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --ui-error: #ffb4ab; }
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
.skip:focus-visible { z-index: 1100; }

main .eyebrow,
main .hero-editorial .eyebrow,
#packaging-directions .eyebrow {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .09em;
}
main :is(.helper, .format-intro, .section-disclosure),
#inquiry-form .helper {
  font-size: max(14px, .875rem);
  line-height: 1.65;
}
main :is(.format-copy .direction-category, .format-copy .concept-note) {
  font-size: 12px;
  line-height: 1.5;
}

.site-header.ui-scrolled {
  border-bottom-color: var(--line);
  box-shadow: 0 6px 20px rgba(22, 47, 34, .12);
}

body #packaging-directions .format-card {
  border-radius: var(--ui-radius);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body #packaging-directions .format-card:focus-within {
  border-color: var(--accent);
  box-shadow: 0 6px 20px rgba(33, 93, 71, .12);
}
@media (hover: hover) and (pointer: fine) {
  body #packaging-directions .format-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
    box-shadow: 0 8px 24px rgba(33, 93, 71, .14);
  }
}

.home-restore-hero {
  padding-top: clamp(32px, 4vw, 56px);
  padding-bottom: 32px;
}
#packaging-directions { padding-block: var(--ui-space-lg); }
#inquiry-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  min-height: 48px;
  border-radius: 6px;
}
#inquiry-form :is(input, select, textarea):focus-visible {
  border-color: var(--accent);
  outline-color: var(--focus);
}
#inquiry-form [aria-invalid="true"] { border-color: var(--ui-error); }

/* All-products is moved in the actual DOM, so visual and keyboard order agree. */
.site-header .dropdown-mega > .mega-all.ui-catalogue-first {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 12px;
  padding: 8px 12px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--accent);
  font-weight: 700;
}

@media (max-width: 767px) {
  .home-restore-hero { padding: 24px 0 16px; }
  .home-restore-hero h1 {
    font-size: clamp(32px, 8.8vw, 36px);
    line-height: 1.12;
    max-width: 17ch;
  }
  .home-restore-hero .hero-copy > p { font-size: 16px; line-height: 1.6; }
  .home-restore-hero .hero-paths .button {
    min-height: 48px;
    font-size: 14px;
    padding: 10px 8px;
  }
  #packaging-directions { padding-block: 32px; }
  #packaging-directions .format-grid { gap: 14px; }
  #packaging-directions .format-card { padding: 10px 10px 16px; }
  #packaging-directions .format-card h3 { font-size: 16px; line-height: 1.25; }
  #inquiry-form :is(input, select, textarea) { font-size: 16px; }

  .site-header nav.is-open .dropdown-mega .mega-heading { margin-bottom: 10px; }
  .site-header nav.is-open .dropdown-mega .mega-heading h2 { font-size: 18px; }
  .site-header nav.is-open .dropdown-mega .mega-heading p { display: none; }
  .site-header nav.is-open .dropdown-mega .mega-categories {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .site-header nav.is-open .dropdown-mega .mega-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    min-height: 64px;
    padding: 8px;
  }
  .site-header nav.is-open .dropdown-mega .mega-card img {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 56px;
    height: 48px;
    object-fit: cover;
    border-radius: 4px;
  }
  .site-header nav.is-open .dropdown-mega .mega-card strong {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    font-size: 15px;
    line-height: 1.3;
  }
  .site-header nav.is-open .dropdown-mega .mega-card small { display: none; }
  .site-header nav.is-open .dropdown-mega .mega-card .concept-label {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
  }
  .site-header nav.is-open .dropdown-mega .mega-aside { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body #packaging-directions .format-card,
  .site-header { transition: none; }
  body #packaging-directions .format-card:hover,
  body #packaging-directions .format-card:focus-within { transform: none; }
}


/* Append after the current site.css. Scoped to the changed Home sections. */
.trust-roles {
  gap: clamp(24px, 4vw, 64px);
}
.trust-roles > *,
.trust-faq > * {
  min-width: 0;
}
.trust-roles h3 {
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  line-height: 1.35;
  margin: 0 0 .25rem;
}
.trust-role-list {
  display: grid;
  gap: .75rem;
  margin: 1.25rem 0;
}
.trust-role-list > div {
  border-top: 1px solid var(--line);
  padding-top: .75rem;
}
.trust-role-list p,
.trust-steps li {
  margin: 0;
}
.trust-links {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1.25rem;
  margin: 1rem 0 0;
}
.trust-steps ol {
  padding-left: 1.4rem;
  margin: .65rem 0 1rem;
}
.trust-steps li + li {
  margin-top: .4rem;
}
.trust-faq .answer-list details {
  border-top: 1px solid var(--line);
  padding: .2rem 0;
}
.trust-faq .answer-list details:last-child {
  border-bottom: 1px solid var(--line);
}
.trust-faq summary {
  cursor: pointer;
  color: var(--text);
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.45;
  padding: .75rem .3rem;
}
.trust-faq summary:hover,
.trust-faq summary:focus-visible {
  color: var(--accent);
}
.trust-faq summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
.trust-faq details p {
  color: var(--muted);
  margin: 0 .3rem .85rem;
  max-width: 68ch;
}
@media (max-width: 767px) {
  .trust-roles,
  .trust-faq {
    gap: 1.25rem;
  }
  .trust-role-list {
    gap: .5rem;
    margin: 1rem 0;
  }
  .trust-steps ol {
    margin-bottom: .75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .trust-faq summary {
    scroll-behavior: auto;
    transition: none;
  }
}


/* Claude package adaptation: additive styles after current site.css. */
:root { --accent-orange: #FF6B35; --accent-orange-hover: #F45B1F; --package-ink: #0b1510; --package-soft: var(--panel); --package-card: var(--bg); --package-line: var(--line); }
.hero-sourcing { padding-block: clamp(32px, 5vw, 64px); gap: clamp(24px, 4vw, 60px); align-items: start; }
.hero-sourcing .hero-copy { min-width: 0; }
.hero-sourcing h1 { max-width: 18ch; font-size: clamp(2.35rem, 4.5vw, 4.2rem); }
.hero-sourcing .hero-copy > p.lead { max-width: 56ch; margin: 18px 0 22px; font-size: 1rem; line-height: 1.6; }
.hero-sourcing .hero-stage { align-self: start; }
.value-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.value-item { min-width: 0; display: flex; flex-direction: column; gap: 5px; padding: 14px 16px; background: var(--package-card); border: 1px solid var(--package-line); border-radius: 10px; transition: transform .2s ease, box-shadow .2s ease; }
.value-item > p, .hero-actions > p { margin: 0; }
.value-item > br, .hero-actions > br { display: none; }
.value-item:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(33,93,71,.1); }
.value-icon { font-size: 1.55rem; line-height: 1; }
.value-icon img.emoji { width: 1em; height: 1em; vertical-align: middle; }
.value-item strong { color: var(--text); font-size: .95rem; line-height: 1.3; }
.value-item small { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 14px; }
.hero-actions .button { min-height: 48px; padding: 10px 18px; border-radius: 8px; font-weight: 700; white-space: normal; }
.hero-sourcing .button-primary:not(.secondary), .site-header > .button:not(.secondary), .site-header .header-brief-wrap > .button:not(.secondary), .site-header nav.is-open > .mobile-nav-brief.button:not(.secondary), .contact-panel .button:not(.secondary), .home-boundary .button:not(.secondary) { background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-hover)); border: 1px solid var(--accent-orange-hover); color: var(--package-ink); }
.hero-sourcing .button-primary:not(.secondary):hover, .site-header > .button:not(.secondary):hover, .site-header .header-brief-wrap > .button:not(.secondary):hover, .site-header nav.is-open > .mobile-nav-brief.button:not(.secondary):hover, .contact-panel .button:not(.secondary):hover, .home-boundary .button:not(.secondary):hover { background: linear-gradient(135deg, var(--accent-orange-hover), #E04E15); border-color: #E04E15; color: var(--package-ink); transform: translateY(-2px); }
.hero-sourcing .button-secondary.secondary { background: transparent; color: var(--accent); border: 2px solid var(--accent); box-shadow: none; }
.hero-sourcing .button-secondary.secondary:hover { background: var(--accent); color: var(--bg); }
.hero-actions .button:focus-visible, .site-header > .button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.hero-sourcing .hero-paths { margin: 12px 0 0; }
.hero-sourcing .hero-paths article { padding: 12px; }
.hero-sourcing .hero-paths h2 { font-size: .95rem; }
.hero-sourcing .hero-paths .button { min-height: 48px; white-space: normal; }
.hero-sourcing .transparency-note { max-width: 60ch; margin: 16px 0 0; padding: 13px 16px; background: var(--package-soft); border-left: 4px solid var(--accent-orange); border-radius: 6px; font-size: .88rem; line-height: 1.55; }
.hero-sourcing .transparency-note strong { color: var(--text); }
.business-model-clarity, .faq-expanded { padding: clamp(42px, 6vw, 80px) 0; border-block: 1px solid var(--line); scroll-margin-top: 24px; }
.business-model-clarity .shell, .faq-expanded .shell { max-width: 1240px; margin: auto; padding-inline: clamp(16px, 3vw, 32px); }
.business-model-clarity .section-header, .faq-expanded .section-header { text-align: center; margin-bottom: 36px; }
.business-model-clarity .section-header h2, .faq-expanded .section-header h2 { font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.2; margin: 12px auto 0; max-width: 26ch; }
.comparison-layout { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.comparison-layout > p, .comparison-layout > br { display: none; }
.approach { min-width: 0; padding: clamp(18px, 2.5vw, 30px); border: 2px solid var(--line); border-radius: 12px; background: var(--panel); }
.approach h3 { margin: 0 0 20px; font-size: 1.4rem; }
.pain-points, .benefits { display: flex; flex-direction: column; gap: 16px; list-style: none; margin: 0; padding: 0; }
.pain-points li, .benefits li { display: flex; align-items: start; gap: 13px; }
.pain-icon, .benefit-icon { flex: none; font-size: 1.3rem; }
.pain-points strong, .benefits strong { display: block; color: var(--text); }
.pain-points p, .benefits p { margin: 2px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.packrivo-way { position: relative; background: var(--bg); border: 3px solid var(--accent); }
.recommended-badge { position: absolute; top: -14px; right: 20px; padding: 6px 14px; border-radius: 99px; background: var(--accent); color: var(--bg); font-size: .75rem; font-weight: 700; }
.pricing-transparency { margin-top: 26px; padding: 20px; background: var(--panel); border: 2px dashed var(--accent); border-radius: 8px; }
.pricing-transparency h4 { margin: 0 0 8px; font-size: 1.1rem; }
.pricing-transparency p { margin: 0; font-size: .9rem; }
.fee-includes { margin: 12px 0 0; padding-left: 20px; color: var(--muted); font-size: .85rem; }
.comparison-steps { margin-top: 32px; padding: 20px 24px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.comparison-steps h3 { margin: 0 0 12px; }
.comparison-steps ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; padding-left: 20px; }
.comparison-steps li { padding-right: 8px; }
.faq-list { max-width: 900px; margin: auto; }
.faq-list > p:empty, .faq-list > br { display: none; }
.faq-item { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); overflow: hidden; }
.faq-item[open] { border-color: var(--accent); box-shadow: 0 4px 12px rgba(33,93,71,.1); }
.faq-critical, .faq-critical[open] { border: 2px solid var(--accent-orange); }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; min-height: 54px; padding: 16px 20px; cursor: pointer; list-style: none; font-size: 1.05rem; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; flex: none; margin-left: 12px; color: var(--accent); font-size: 1.5rem; }
.faq-item[open] summary::after { content: '−'; }
.faq-item summary:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.faq-answer { padding: 0 20px 18px; color: var(--muted); line-height: 1.65; }
.faq-answer p { margin: 0; }
.faq-answer strong { color: var(--text); }
.footer-disclosure { margin-top: 24px; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); text-align: center; }
.footer-disclosure p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.6; }
.footer-disclosure strong { color: var(--text); }
@media (max-width: 860px) { .comparison-layout { grid-template-columns: 1fr; } .comparison-steps ol { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) { .hero-sourcing { padding-block: 24px; } .hero-sourcing h1 { font-size: clamp(2rem, 8.8vw, 2.25rem); } .value-grid { grid-template-columns: 1fr; } .hero-actions { flex-direction: column; } .hero-actions .button { width: 100%; justify-content: center; } .hero-sourcing .hero-paths { grid-template-columns: 1fr 1fr; } .comparison-steps ol { grid-template-columns: 1fr; } .faq-item summary { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .value-item, .hero-sourcing .button-primary, .site-header .button, .contact-panel .button, .home-boundary .button { transition: none; } .value-item:hover, .hero-sourcing .button-primary:not(.secondary):hover, .site-header > .button:not(.secondary):hover, .site-header .header-brief-wrap > .button:not(.secondary):hover, .site-header nav.is-open > .mobile-nav-brief.button:not(.secondary):hover, .contact-panel .button:not(.secondary):hover, .home-boundary .button:not(.secondary):hover { transform: none !important; } }
:root[data-theme="dark"] { --package-card: var(--bg); --package-soft: var(--panel); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --package-card: var(--bg); --package-soft: var(--panel); } }
/* Packrivo homepage visual correction, 2026-10-14. Existing brand and business copy retained. */
body:has(.hero-sourcing) .site-header { min-height:80px; padding-block:12px; }
body:has(.hero-sourcing) .site-header .header-brief-wrap { margin:0; }
body:has(.hero-sourcing) .hero-sourcing { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:40px; padding:40px 0 28px; }
.hero-sourcing .hero-copy h1 { font-size:clamp(38px,3.8vw,56px); line-height:1.08; letter-spacing:-.045em; max-width:22ch; margin:16px 0; }
.hero-sourcing .hero-copy > p.lead { max-width:60ch; margin:0 0 20px; font-size:16px; line-height:1.6; }
.hero-sourcing .hero-copy > p:empty { display:none; }
.hero-sourcing .hero-actions { margin:0 0 24px; }
.hero-sourcing .value-grid { margin:0; gap:12px; }
.hero-sourcing .value-item { display:grid; grid-template-columns:24px minmax(0,1fr); column-gap:10px; row-gap:5px; padding:14px; border-radius:6px; background:var(--panel); }
.hero-sourcing .value-item .value-icon { grid-row:1 / 3; font-size:20px; line-height:1.3; }
.hero-sourcing .value-item strong { font-size:15px; line-height:1.35; }
.hero-sourcing .value-item small { font-size:13px; line-height:1.5; }
.hero-sourcing .value-item > p { display:contents; }
.hero-sourcing .value-item > br { display:none; }
.hero-sourcing .hero-copy > .transparency-note { max-width:none; margin:18px 0 0; padding:12px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; font-size:13px; line-height:1.55; }
.hero-sourcing .hero-stage { border-radius:8px; overflow:hidden; }
.hero-sourcing .hero-stage img { aspect-ratio:1.1; border-radius:0; }
.hero-sourcing .hero-stage figcaption { padding:12px 16px; font-size:12px; line-height:1.5; }
.hero-sourcing .hero-stage > p { margin:0; }
.hero-sourcing .hero-product-link { margin:0; padding:14px 16px 18px; }
.hero-sourcing .hero-product-link strong { font-size:18px; }
/* The old generic section padding created 144px of empty space around this strip. */
body:has(.hero-sourcing) .proof-strip { padding:20px 0 28px; margin:0; gap:0; border-top:1px solid var(--line); }
body:has(.hero-sourcing) .proof-strip article { padding:6px 22px; border:0; border-right:1px solid var(--line); background:transparent; }
body:has(.hero-sourcing) .proof-strip article:first-child { padding-left:0; }
body:has(.hero-sourcing) .proof-strip article:last-child { border-right:0; }
body:has(.hero-sourcing) .business-model-clarity { padding:48px 0; }
.business-model-clarity .comparison-shell, .faq-expanded .faq-shell { padding-inline:0; max-width:1200px; }
.business-model-clarity .section-header, .faq-expanded .section-header { margin-bottom:28px; }
.business-model-clarity .section-header h2, .faq-expanded .section-header h2 { max-width:34ch; font-size:clamp(28px,3vw,38px); line-height:1.15; }
.business-model-clarity .comparison-layout { gap:20px; }
.business-model-clarity .approach { padding:24px; border-radius:8px; }
.business-model-clarity .approach h3 { font-size:22px; }
.business-model-clarity .approach li { margin-bottom:18px; }
.business-model-clarity .approach li:last-child { margin-bottom:0; }
.business-model-clarity .approach strong { font-size:15px; }
.business-model-clarity .approach .point-content p { font-size:14px; line-height:1.55; }
.business-model-clarity .pricing-transparency { margin-top:20px; padding:20px 24px; border:1px solid var(--line); border-radius:8px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 32px; }
.business-model-clarity .pricing-transparency h4 { grid-column:1 / -1; margin:0; font-size:18px; }
.business-model-clarity .pricing-transparency p, .business-model-clarity .pricing-transparency ul { margin:0; font-size:14px; line-height:1.6; }
.business-model-clarity .comparison-steps { margin-top:20px; padding:20px 24px; }
.faq-expanded { padding:48px 0; }
.faq-expanded .faq-list { max-width:900px; }
.faq-expanded .faq-item { margin-bottom:10px; }
.faq-expanded .faq-item summary { min-height:60px; padding:16px 20px; font-size:16px; line-height:1.4; }
.faq-expanded .faq-answer { font-size:15px; line-height:1.65; }
.faq-expanded .faq-answer p { max-width:none; }
/* Anchor offsets match the sticky navigation, including the WordPress toolbar. */
body:has(.hero-sourcing) { --home-anchor-offset:104px; }
body:has(.hero-sourcing) main [id] { scroll-margin-top:var(--home-anchor-offset); }
body.admin-bar .site-header { top:32px; }
body.admin-bar:has(.hero-sourcing) main [id] { scroll-margin-top:calc(var(--home-anchor-offset) + 32px); }
.preview-adminbar { height:32px; position:fixed; inset:0 0 auto; background:#1d2327; color:#fff; z-index:99999; font:13px/32px system-ui; padding:0 16px; }
html.adminbar-fixture { margin-top:32px !important; }
@media (max-width:1100px) and (min-width:768px) {
  body:has(.hero-sourcing) { --home-anchor-offset:156px; }
  body:has(.hero-sourcing) .hero-sourcing { gap:24px; grid-template-columns:1fr 1fr; }
  .hero-sourcing .value-item { padding:12px; column-gap:8px; }
  .hero-sourcing .value-item strong { font-size:14px; }
}
@media (max-width:980px) and (min-width:768px) {
  body:has(.hero-sourcing) .hero-sourcing { grid-template-columns:1fr; gap:24px; padding-top:28px; }
  .hero-sourcing .hero-copy h1 { max-width:26ch; font-size:clamp(38px,5.6vw,48px); }
  .hero-sourcing .hero-stage img { aspect-ratio:1.6; }
}
@media (max-width:782px) {
  body.admin-bar .site-header { top:46px; }
  body.admin-bar:has(.hero-sourcing) main [id] { scroll-margin-top:calc(var(--home-anchor-offset) + 46px); }
  html.adminbar-fixture { margin-top:46px !important; }
  .preview-adminbar { height:46px; line-height:46px; }
}
@media (max-width:767px) {
  body:has(.hero-sourcing) .site-header { min-height:72px; padding-block:10px; }
  body:has(.hero-sourcing) .hero-sourcing { grid-template-columns:1fr; padding:24px 0; gap:24px; }
  .hero-sourcing .hero-copy h1 { font-size:clamp(32px,8.6vw,40px); margin:12px 0 16px; max-width:22ch; }
  .hero-sourcing .hero-copy > p.lead { font-size:15px; line-height:1.6; margin-bottom:18px; }
  .hero-sourcing .hero-actions { gap:10px; margin-bottom:22px; }
  .hero-sourcing .value-grid { grid-template-columns:1fr; gap:8px; }
  .hero-sourcing .value-item { padding:12px 14px; }
  .hero-sourcing .hero-stage img { aspect-ratio:1.4; }
  body:has(.hero-sourcing) .proof-strip { padding:8px 0 24px; grid-template-columns:1fr; }
  body:has(.hero-sourcing) .proof-strip article { padding:14px 0; border-right:0; border-bottom:1px solid var(--line); }
  body:has(.hero-sourcing) .proof-strip article:last-child { border-bottom:0; }
  body:has(.hero-sourcing) .business-model-clarity, .faq-expanded { padding:32px 0; }
  .business-model-clarity .comparison-shell, .faq-expanded .faq-shell { padding:0; }
  .business-model-clarity .approach { padding:20px; }
  .business-model-clarity .pricing-transparency { grid-template-columns:1fr; padding:18px 20px; gap:12px; }
  .business-model-clarity .comparison-steps { padding:18px 20px; }
  body:has(.hero-sourcing) main [id], body.admin-bar:has(.hero-sourcing) main [id] { scroll-margin-top:16px; }
}

/* ===================================
   专业SVG图标样式
   替换Emoji，提升B2B专业度
   =================================== */

/* Hero区价值卡片图标 */
.value-icon {
  width: 40px;
  height: 40px;
  color: #215d47; /* 品牌绿色 */
  margin-bottom: 12px;
  stroke-width: 1.5;
  transition: all 0.3s ease;
}

/* 悬停效果 */
.value-item:hover .value-icon {
  color: #2a7559; /* 稍微变亮 */
  transform: translateY(-2px);
}

/* 或者使用圆形背景版本（二选一） */
.value-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #f0fdf4; /* 浅绿背景 */
  margin-bottom: 16px;
  transition: all 0.3s ease;
}

.value-item:hover .value-icon-wrapper {
  background: #dcfce7;
  transform: scale(1.05);
}

.value-icon-wrapper svg {
  width: 28px;
  height: 28px;
  color: #215d47;
  stroke-width: 2;
}

/* How We Work区块图标 */
.pain-points li,
.benefits li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.pain-icon,
.benefit-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
  stroke-width: 2;
  transition: all 0.3s ease;
}

/* 左侧痛点图标 - 灰色 */
.pain-icon {
  color: #6b7280;
}

/* 右侧优势图标 - 绿色 */
.benefit-icon {
  color: #16a34a;
}

/* 悬停效果 */
.pain-points li:hover .pain-icon {
  color: #4b5563;
  transform: scale(1.1);
}

.benefits li:hover .benefit-icon {
  color: #15803d;
  transform: scale(1.1);
}

/* 响应式调整 */
@media (max-width: 768px) {
  .value-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
  }

  .value-icon-wrapper {
    width: 48px;
    height: 48px;
  }

  .value-icon-wrapper svg {
    width: 24px;
    height: 24px;
  }

  .pain-icon,
  .benefit-icon {
    width: 20px;
    height: 20px;
  }
}

/* 确保SVG在所有浏览器中渲染一致 */
svg {
  vertical-align: middle;
  shape-rendering: geometricPrecision;
}

/* 深色模式适配（如果有） */
@media (prefers-color-scheme: dark) {
  .value-icon,
  .benefit-icon {
    color: #4ade80;
  }

  .pain-icon {
    color: #9ca3af;
  }

  .value-icon-wrapper {
    background: rgba(74, 222, 128, 0.1);
  }

  .value-item:hover .value-icon-wrapper {
    background: rgba(74, 222, 128, 0.2);
  }
}

/* User's explicit brand-green acceptance overrides the reference's gray/neon split. */
.hero-sourcing .value-item { grid-template-columns:40px minmax(0,1fr); }
.hero-sourcing svg.value-icon { margin:0; align-self:start; }
svg:is(.value-icon,.pain-icon,.benefit-icon) { color:#215d47; display:block; vertical-align:middle; }
.value-item:hover svg.value-icon,
.pain-points li:hover svg.pain-icon,
.benefits li:hover svg.benefit-icon { color:#2a7559; }
/* Keep icons readable in the site's explicit dark theme, without overriding light mode. */
:root[data-theme="dark"] svg:is(.value-icon,.pain-icon,.benefit-icon) { color:#74c9a5; }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) svg:is(.value-icon,.pain-icon,.benefit-icon) { color:#74c9a5; }
}
@media (max-width:768px) {
  .hero-sourcing .value-item { grid-template-columns:32px minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  svg:is(.value-icon,.pain-icon,.benefit-icon), .value-icon-wrapper { transition:none !important; }
  .value-item:hover svg.value-icon,
  .pain-points li:hover svg.pain-icon,
  .benefits li:hover svg.benefit-icon,
  .value-item:hover .value-icon-wrapper { transform:none !important; }
}

/* One shared WhatsApp component on every public page type.
   The ownership class overrides legacy per-page "static/hidden" plugin rules. */
body.has-contact-dock > nav.contact-dock.packrivo-global-contact,
body.has-contact-dock noscript > nav.contact-dock.packrivo-global-contact,
body noscript > nav.contact-dock.packrivo-global-contact {
  display:flex !important;
  position:fixed !important;
  inset:auto 24px 24px auto !important;
  transform:none !important;
  width:260px !important;
  max-width:calc(100vw - 32px) !important;
  margin:0 !important;
  padding:0 !important;
  z-index:80 !important;
  box-shadow:none !important;
}
@media (min-width:768px) {
  body.has-contact-dock:has(> nav.packrivo-global-contact),
  body.has-contact-dock:has(noscript > nav.packrivo-global-contact),
  body:has(noscript > nav.packrivo-global-contact) { padding-bottom:112px !important; }
}
@media (max-width:767px) {
  /* Match the homepage's reserved bottom row, keeping content above the button. */
  body.has-contact-dock > nav.contact-dock.packrivo-global-contact {
    position:relative !important;
    inset:auto !important;
    grid-row:3;
    width:100% !important;
    max-width:none !important;
    padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px)) !important;
    background:var(--bg);
    border-top:1px solid var(--line);
    border-radius:0;
    box-shadow:0 -4px 16px rgb(18 39 29 / 8%) !important;
  }
  body.has-contact-dock noscript > nav.contact-dock.packrivo-global-contact,
  body noscript > nav.contact-dock.packrivo-global-contact {
    inset:auto 0 0 0 !important;
    width:100% !important;
    max-width:none !important;
    padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px)) !important;
    background:var(--bg);
    border-top:1px solid var(--line);
  }
  body:has(noscript > nav.packrivo-global-contact) {
    padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important;
  }
  /* Without JavaScript, some templates lack the scroll wrapper installed by JS. */
  html:has(> body.has-contact-dock noscript > nav.packrivo-global-contact):not(:has(> body > .page-scroll)) {
    height:auto;
    overflow-y:auto;
  }
  body.has-contact-dock:not(:has(> .page-scroll)):has(noscript > nav.packrivo-global-contact) {
    display:block;
    height:auto;
    min-height:100dvh;
    overflow:visible;
  }
}
body:has(noscript > nav.packrivo-global-contact) nav.contact-dock:not(.packrivo-global-contact) {
  display:none !important;
}
/* Temporary menu/input states remain recoverable; no page permanently opts out. */
html.nav-open body.has-contact-dock > nav.contact-dock.packrivo-global-contact,
html.contact-dock-input-focused body.has-contact-dock > nav.contact-dock.packrivo-global-contact {
  display:none !important;
}
