/* Panith PRD refinement bundle. Generated from assets/css modules. */

/* Module: base/variables.css */
/* Panith design tokens. Colour values are copied exactly from the live site. */
:root {
  --panith-white: #FFFFFF;
  --panith-black: #000000;
  --panith-body-bg: #FAFAF8;
  --panith-header-bg: rgba(250, 250, 248, 0.94);
  --panith-section-bg-light: #F7F7F4;
  --panith-surface-warm: #F3F1EC;
  --panith-surface-cream: #FFFDF7;
  --panith-surface-white-soft: #FBFBFB;
  --panith-orange: #FC6607;
  --panith-orange-hover: #D94F00;
  --panith-yellow: #F7D018;
  --panith-text-primary: #2C2D2D;
  --panith-text-body: #55585A;
  --panith-text-card: #202124;
  --panith-text-muted: #777A7C;
  --panith-border-warm: #E8E5DE;
  --panith-border-warm-soft: rgba(232, 229, 222, 0.65);
  --panith-white-94: rgba(255, 255, 255, 0.94);
  --panith-white-92: rgba(255, 255, 255, 0.92);
  --panith-white-82: rgba(255, 255, 255, 0.82);
  --panith-white-74: rgba(255, 255, 255, 0.74);
  --panith-white-62: rgba(255, 255, 255, 0.62);
  --panith-white-22: rgba(255, 255, 255, 0.22);
  --panith-white-18: rgba(255, 255, 255, 0.18);
  --panith-white-14: rgba(255, 255, 255, 0.14);
  --panith-white-06: rgba(255, 255, 255, 0.06);
  --panith-shadow-dark-26: rgba(0, 0, 0, 0.26);
  --panith-shadow-44-13: rgba(44, 45, 45, 0.13);
  --panith-shadow-44-12: rgba(44, 45, 45, 0.12);
  --panith-shadow-44-10: rgba(44, 45, 45, 0.10);
  --panith-shadow-44-09: rgba(44, 45, 45, 0.09);
  --panith-shadow-44-08: rgba(44, 45, 45, 0.08);
  --panith-shadow-18-18: rgba(18, 19, 20, 0.18);
  --panith-shadow-18-14: rgba(18, 19, 20, 0.14);
  --panith-shadow-18-13: rgba(18, 19, 20, 0.13);
  --panith-shadow-18-12: rgba(18, 19, 20, 0.12);
  --panith-shadow-17-18: rgba(17, 18, 19, 0.18);
  --panith-focus-orange-55: rgba(255, 79, 18, 0.55);
  --panith-focus-orange-18: rgba(255, 79, 18, 0.18);
  --panith-focus-orange-alt-18: rgba(255, 75, 19, 0.18);
  --panith-focus-orange-alt-14: rgba(255, 75, 19, 0.14);
  --panith-focus-orange-alt-12: rgba(255, 75, 19, 0.12);
  --panith-hover-orange-bg-10: rgba(255, 75, 19, 0.10);
  --panith-orange-border-42: rgba(252, 102, 7, 0.42);
  --panith-orange-border-38: rgba(252, 102, 7, 0.38);
  --panith-orange-border-36: rgba(252, 102, 7, 0.36);
  --panith-orange-border-34: rgba(252, 102, 7, 0.34);
  --panith-orange-shadow-28: rgba(252, 102, 7, 0.28);
  --panith-orange-shadow-22: rgba(252, 102, 7, 0.22);
  --panith-orange-shadow-18: rgba(252, 102, 7, 0.18);
  --panith-orange-shadow-12: rgba(252, 102, 7, 0.12);
  --panith-orange-shadow-26: rgba(252, 102, 7, 0.26);
  --panith-skip-bg-focus: #DDDDDD;
  --panith-skip-text-focus: #444444;
  --panith-hostinger-purple-hover: #5029C2;
  --panith-hostinger-close-hover: #727272;
  --panith-chip-bg-hover: #FFF3EC;

  /* Additional existing values observed on secondary templates. Do not reuse for new roles. */
  --panith-legacy-ink-soft: #2B2D30;
  --panith-legacy-muted: #53565A;
  --panith-legacy-line: #DCD7CE;
  --panith-legacy-orange: #FF4B13;
  --panith-legacy-yellow: #FFC800;
  --panith-legacy-paper: #F7F5F0;
  --panith-legacy-cream: #FFFDF8;
  --panith-legacy-gray: #808080;
  --panith-white-72: rgba(255, 255, 255, 0.72);
  --panith-text-primary-16: rgba(44, 45, 45, 0.16);
  --panith-text-primary-14: rgba(44, 45, 45, 0.14);
  --panith-text-primary-12: rgba(44, 45, 45, 0.12);
  --panith-text-card-18: rgba(32, 33, 36, 0.18);
  --panith-text-card-14: rgba(32, 33, 36, 0.14);
  --panith-black-soft-06: rgba(18, 19, 20, 0.06);

  --panith-font-heading: "Archivo", sans-serif;
  --panith-font-body: "Manrope", sans-serif;
  --panith-heading-line-height: 1.08;
  --panith-body-line-height: 1.65;
  --panith-reading-width: 72ch;
  --panith-container-narrow: 980px;
  --panith-grid-gap: clamp(18px, 2.4vw, 32px);
  --panith-section-y: clamp(42px, 6vw, 84px);
  --panith-card-pad: clamp(22px, 2.6vw, 34px);
  --panith-card-radius: 8px;
  --panith-button-min-height: 48px;
}


/* Module: base/typography.css */
html {
  scroll-padding-top: clamp(78px, 8vw, 116px);
}

body {
  text-rendering: optimizeLegibility;
}

main :where(p, li) {
  line-height: var(--panith-body-line-height);
}

main :where(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
}

main :where(p) {
  text-wrap: pretty;
}

.services .shell > h2,
.team > h2,
.testimonials h2,
.contact-form-panel h2,
.contact-info-panel h2,
.panith-section > h2,
.panith-page-hero h1,
.panith-article-header h1,
.archive-header h1,
.search-header h1,
.page-header h1,
.error-404 h1,
.entry-title {
  line-height: var(--panith-heading-line-height) !important;
  max-width: 13.5em;
}

.service-card h3,
.panith-content-card h2,
.panith-content-card h3,
.entry-card h2,
.entry-card h3,
.quote-card strong,
.person h3 {
  line-height: 1.16 !important;
}

.service-card p,
.panith-content-card p,
.entry-card p,
.quote-card p,
.panith-module p {
  line-height: 1.58 !important;
}

.panith-reading-page .entry-content :where(p, ul, ol, blockquote, table),
.single-panith_knowledge .entry-content :where(p, ul, ol, blockquote, table),
.single-panith_case_study .entry-content :where(p, ul, ol, blockquote, table) {
  margin-block-end: 1.15em;
}

.panith-reading-page .entry-content :where(h2, h3, h4),
.single-panith_knowledge .entry-content :where(h2, h3, h4),
.single-panith_case_study .entry-content :where(h2, h3, h4) {
  margin-block: 1.45em 0.55em;
}

@media (max-width: 620px) {
  .hero h1,
  .panith-page-hero h1,
  .panith-article-header h1,
  .archive-header h1,
  .search-header h1,
  .page-header h1,
  .entry-title {
    font-size: clamp(34px, 10vw, 44px) !important;
  }
}


/* Module: base/layout.css */
.shell {
  max-width: var(--panith-shell, 1520px);
}

.services,
.team,
.testimonials,
.contact-section,
.panith-section,
.panith-related-content,
.panith-article-footer {
  padding-block: var(--panith-section-y);
}

.services .shell > h2,
.panith-section > h2 {
  margin-bottom: clamp(22px, 3vw, 38px) !important;
}

.service-grid,
.panith-card-grid,
.team-grid,
.quote-grid,
.panith-facts-grid,
.panith-module-list {
  gap: var(--panith-grid-gap) !important;
  align-items: stretch;
}

.about,
.contact-shell {
  gap: clamp(28px, 5vw, 72px) !important;
}

.panith-page-hero,
.panith-article-header,
.archive-header,
.search-header,
.page-header {
  padding-block: clamp(42px, 6vw, 76px) !important;
}

@media (max-width: 620px) {
  :root {
    --panith-section-y: clamp(34px, 10vw, 54px);
    --panith-card-pad: 22px;
  }

  .shell {
    width: min(100% - 28px, 100%) !important;
  }
}


/* Module: components/navigation.css */
.site-header .nav {
  gap: clamp(16px, 2vw, 34px);
}

.site-header .nav-links {
  gap: clamp(18px, 2.3vw, 42px) !important;
  white-space: nowrap;
}

.site-header .nav-links a,
.site-header .talk-button {
  min-height: 44px;
}

@media (max-width: 1180px) {
  .site-header .nav {
    grid-template-columns: auto 1fr auto;
  }

  .site-header .nav-links {
    gap: clamp(14px, 1.6vw, 24px) !important;
  }
}

@media (max-width: 980px) {
  body.nav-open {
    overflow: hidden;
  }

  .nav-links.is-open {
    max-height: calc(100svh - 84px);
    overflow-y: auto;
  }
}


/* Module: components/buttons.css */
.btn,
.talk-button,
.service-open,
.panith-carousel-control {
  min-height: 44px;
}

.btn,
.talk-button {
  min-height: var(--panith-button-min-height) !important;
  align-items: center;
  justify-content: center;
  line-height: 1.15 !important;
  white-space: nowrap;
}

.service-card .service-card-action,
.panith-content-card .read-more,
.panith-content-card .btn,
.entry-card .read-more,
.panith-module .btn,
.panith-final-cta .btn {
  margin-top: auto;
}

@media (max-width: 620px) {
  .hero-actions .btn,
  .hero-actions .link-arrow,
  .services-shared-cta .btn,
  .contact-cta-panel .btn,
  .panith-final-cta .btn {
    width: 100%;
    justify-content: center;
  }
}


/* Module: components/cards.css */
.service-card,
.panith-content-card,
.entry-card,
.person,
.quote-card,
.panith-module,
.panith-final-cta,
.panith-facts-grid > div {
  min-width: 0;
}

.service-card,
.panith-content-card,
.entry-card,
.quote-card,
.panith-module,
.panith-final-cta {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.service-card {
  min-height: clamp(300px, 24vw, 360px) !important;
  padding: var(--panith-card-pad) !important;
}

.panith-content-card,
.entry-card,
.quote-card,
.panith-module {
  padding: var(--panith-card-pad);
}

.panith-content-card :where(p, .entry-summary),
.entry-card :where(p, .entry-summary) {
  max-width: 58ch;
}

.quote-card {
  min-height: 100%;
}

.person {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.person .portrait {
  aspect-ratio: 4 / 3;
  height: auto !important;
}

@media (max-width: 980px) {
  .service-grid,
  .panith-card-grid,
  .team-grid,
  .quote-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .service-grid,
  .panith-card-grid,
  .team-grid,
  .quote-grid,
  .panith-facts-grid,
  .panith-module-list,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .service-card,
  .panith-content-card,
  .entry-card,
  .quote-card,
  .panith-module,
  .panith-final-cta {
    min-height: 0 !important;
  }
}


/* Module: components/forms.css */
.panith-filter-form,
.search-form,
.panith-consultation-form,
.contact-form {
  gap: clamp(12px, 2vw, 18px);
}

.panith-filter-form input,
.panith-filter-form select,
.search-form input,
.contact-form input,
.contact-form textarea,
.panith-consultation-form input,
.panith-consultation-form textarea,
.panith-consultation-form select {
  min-height: 48px;
  line-height: 1.35;
}

.contact-form textarea,
.panith-consultation-form textarea {
  min-height: 148px;
}

.panith-filter-row {
  align-items: end;
}

.panith-filter-row label {
  min-width: 0;
}

.panith-filter-actions {
  align-items: center;
}

@media (max-width: 620px) {
  .panith-filter-actions,
  .panith-filter-actions .btn,
  .panith-filter-actions .panith-reset-link {
    width: 100%;
  }
}


/* Module: sections/home.css */
.hero {
  min-height: clamp(520px, calc(100svh - 108px), 760px) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  padding-block: clamp(24px, 4vw, 56px) !important;
}

.hero-copy {
  max-width: 620px !important;
}

.hero h1 {
  font-size: clamp(44px, 4.4vw, 58px) !important;
  line-height: var(--panith-heading-line-height) !important;
  max-width: 11.5em;
}

.hero p {
  max-width: 38rem !important;
  line-height: 1.62 !important;
}

.hero-actions {
  flex-wrap: wrap;
  row-gap: 16px !important;
}

.services-shared-cta,
.contact-shell,
.panith-final-cta {
  align-items: center;
}

@media (max-width: 980px) {
  .hero {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    padding-block: clamp(24px, 6vw, 48px) !important;
  }

  .hero-copy,
  .hero p {
    max-width: 100% !important;
  }
}

@media (max-width: 620px) {
  .hero-actions,
  .cta-row,
  .services-shared-cta {
    align-items: stretch !important;
  }
}


/* Module: sections/footer.css */
.footer-grid {
  gap: clamp(22px, 3vw, 42px) !important;
}

.footer h3 {
  margin-bottom: 14px !important;
}

.footer a,
.footer p {
  line-height: 1.55 !important;
}

.footer .socials a {
  flex: 0 0 auto;
}

@media (max-width: 620px) {
  .footer-grid {
    text-align: left;
  }
}


/* Module: pages/knowledge-hub.css */
.panith-hub-page .panith-page-hero p {
  max-width: 62ch;
}

.panith-hub-page .panith-service-area-grid .service-card,
.panith-service-page .panith-card-grid .knowledge-card,
.panith-hub-page .panith-card-grid .knowledge-card {
  min-height: clamp(280px, 22vw, 360px);
}

.panith-hub-page .panith-result-summary,
.panith-case-studies-page .panith-result-summary {
  margin-block: clamp(16px, 2vw, 24px);
}

.panith-module-list,
.panith-toc-list {
  padding-left: 0;
}

.panith-card-grid .knowledge-card :where(h2, h3, p) {
  overflow-wrap: anywhere;
}

@media (max-width: 620px) {
  .panith-hub-page .panith-page-hero,
  .panith-service-page .panith-page-hero {
    text-align: left;
  }
}


/* Module: pages/case-studies.css */
.panith-case-studies-page .panith-page-hero p,
.single-panith_case_study .panith-article-header p {
  max-width: 62ch;
}

.panith-case-studies-page .panith-card-grid,
.single-panith_case_study .panith-card-grid {
  align-items: stretch;
}

.panith-case-studies-page .entry-card,
.panith-related-search-results .entry-card {
  min-height: clamp(260px, 21vw, 340px);
}

.panith-case-section {
  max-width: var(--panith-reading-width);
}

.panith-case-section + .panith-case-section {
  margin-top: clamp(26px, 4vw, 48px);
}


/* Module: pages/reading.css */
.about-copy-text,
.panith-reading-page .entry-content,
.single-panith_knowledge .entry-content,
.single-panith_case_study .entry-content,
.page .entry-content {
  max-width: var(--panith-reading-width);
}

.panith-reading-layout {
  max-width: var(--panith-shell, 1520px);
}

.panith-article-body {
  gap: clamp(24px, 4vw, 48px);
}

.panith-toc {
  align-self: start;
}

.panith-rich-text :where(img, figure, table) {
  max-width: 100%;
}

.panith-rich-text table {
  display: block;
  overflow-x: auto;
}

.panith-chapter-nav {
  gap: clamp(14px, 2vw, 24px);
}

@media (max-width: 760px) {
  .panith-article-body,
  .panith-chapter-nav {
    grid-template-columns: 1fr !important;
  }
}


/* Module: utilities/accessibility.css */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }

  .panith-reveal,
  .panith-heading-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline-offset: 3px;
}

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

