/* Public content pages share the charcoal, ivory and gold site palette. */
body.content-page { color-scheme: dark; }
body.home-gold .content-hero { padding-block: 60px; }
body.home-gold .content-hero h1 { max-width: 24ch; }
body.home-gold .content-hero .section-eyebrow { color: #d8bd86; font-family: var(--mono); font-size: .65rem; letter-spacing: .11em; margin-bottom: 18px; }
body.home-gold .content-hero .crumbs { margin-bottom: 28px; }
body.home-gold .content-hero .crumbs span[aria-hidden] { margin-inline: 8px; color: #666c74; }
body.home-gold .content-section { padding-block: 72px; border-top: 1px solid #272d34; background: #101418; }
body.home-gold .content-section-alt { background: #0d1013; }
.content-section h2 { color: #f5f3ec; font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.2; letter-spacing: -.045em; }
.content-section .section-eyebrow { color: #c7ad7b; font-family: var(--mono); font-size: .63rem; letter-spacing: .11em; margin-bottom: 16px; }
.content-lede { color: #aab3be; line-height: 1.85; font-size: .94rem; margin-top: 20px; max-width: 65ch; }
.section-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 28px; }
.section-heading > p { max-width: 48ch; color: #9ba5b1; font-size: .88rem; line-height: 1.8; }
.page-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 32px; }
.surface-card { display: block; min-width: 0; border: 1px solid #2d353d; border-radius: 16px; padding: 28px; background: #171c22; }
.surface-card h3 { color: #eceeea; font-size: 1.05rem; line-height: 1.4; letter-spacing: -.025em; margin-bottom: 12px; }
.surface-card p { font-size: .87rem; line-height: 1.85; color: #a2adbb; }
.surface-card a { text-underline-offset: 4px; }
a.surface-card { text-decoration: none; transition: border-color 150ms ease, background 150ms ease; }
a.surface-card:hover { border-color: #7d6b45; background: #1a2026; }
.content-icon, .resource-icon, .aside-icon { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: 22px; border: 1px solid #edcb8221; border-radius: 12px; background: #edcb820d; color: #e5c786; }
.content-icon svg, .resource-icon svg, .aside-icon svg { width: 21px; height: 21px; }
body.home-gold .text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; color: #e6c681; font-size: .8rem; font-weight: 600; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.content-image { margin: 0; overflow: hidden; border: 1px solid #3c3c31; border-radius: 18px; background: #0d1013; }
.content-image img { width: 100%; height: auto; object-fit: contain; }
.content-image figcaption { border-top: 1px solid #2d302d; padding: 17px 22px; color: #adafa5; font-size: .75rem; }
.about-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 60px; }
.content-callout, .page-callout { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.content-callout { padding-block: 8px; }
.content-callout h2, .page-callout h2 { font-size: clamp(1.5rem,2.5vw,2rem); }
.content-callout p:not(.section-eyebrow), .page-callout p:not(.section-eyebrow) { color: #a3adba; font-size: .9rem; margin-top: 14px; line-height: 1.8; }
.content-callout > .btn, .page-callout > .btn { flex-shrink: 0; }
.page-callout { padding: 34px; border-color: #504631; background: #1c201f; }

/* Contact */
.contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 64px; align-items: start; }
.contact-email { overflow-wrap: anywhere; }
.contact-topics { display: grid; gap: 12px; margin-top: 30px; }
.contact-topic { display: flex !important; align-items: center; gap: 16px; padding: 20px; }
.contact-topic .content-icon { flex-shrink: 0; margin-bottom: 0; width: 36px; height: 36px; border-radius: 10px; }
.contact-topic h3 { font-size: .88rem; margin-bottom: 5px; }
.contact-topic p { font-size: .77rem; line-height: 1.7; }
.contact-topic > span:last-child { margin-left: auto; color: #ccb27c; }
.company-note { margin-top: 24px; font-size: .73rem; color: #7e8a9a; line-height: 1.8; }
.contact-form-card { padding: 32px; }
.contact-form-card h2 { font-size: 1.55rem; }
.contact-form-card > p:not(.section-eyebrow) { margin-top: 15px; font-size: .84rem; }
.contact-form-card form { margin-top: 28px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form-card .field > span { color: #c1c8d0; font-size: .78rem; }
.contact-form-card .input, .contact-form-card .select, .contact-form-card .textarea { background: #10151b; border-color: #353e49; color: #e7ebef; font-size: .85rem; }
.contact-form-card .textarea { font-family: var(--sans); min-height: 160px; }
.contact-form-card .input::placeholder, .contact-form-card .textarea::placeholder { color: #7d8999; }
.contact-form-card .input:focus, .contact-form-card .select:focus, .contact-form-card .textarea:focus { border-color: #ba9b60; box-shadow: 0 0 0 3px #edcb8212; }
.contact-form-card .form-note { font-size: .72rem; color: #919eaf; margin-top: 15px; }

/* FAQ */
.faq-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.faq-search-field { flex: 1; max-width: 600px; margin: 0; }
.faq-search-field label, .faq-search-field > span { display: block; color: #c6ccd3; font-size: .8rem; margin-bottom: 8px; }
.faq-search-field .input, input[data-faq-search] { background: #10151b; border: 1px solid #3b434e; color: #e3e7ed; }
.faq-search-meta { color: #b4a47e; font-size: .76rem; margin-bottom: 18px; }
body.home-gold .content-section .faq-list { margin-top: 0; }
body.home-gold .content-section .faq-list details[hidden] { display: none; }
[data-faq-empty] { margin-top: 24px; color: #b1bbc7; font-size: .9rem; }
[data-faq-empty][hidden] { display: none; }
.resource-card { height: 100%; }
.resource-card .text-link { display: inline-block; color: #e4c482; font-size: .78rem; margin-top: 20px; }

/* Blog */
.blog-featured { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); padding: 0; overflow: hidden; }
.blog-featured-image { display: block; min-height: 350px; background: #111519; overflow: hidden; }
.blog-featured-image img { display: block; width: 100%; height: 100%; max-height: 480px; object-fit: cover; }
.blog-featured-copy { padding: 40px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.blog-featured-copy h2, .blog-featured-copy h3 { font-size: clamp(1.6rem,2.8vw,2.3rem); line-height: 1.25; letter-spacing: -.04em; margin-block: 18px; }
.blog-featured-copy h2 a, .post-card h3 a { color: #f2f2eb; text-decoration: none; }
.blog-featured-copy h2 a:hover, .post-card h3 a:hover { color: #edcb82; }
.post-meta, .article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: #8e9aa8; font-size: .71rem; }
.post-category { display: inline-flex; align-items: center; padding: 4px 9px; border: 1px solid #75603b; border-radius: 6px; color: #e0c188; font-size: .65rem; }
.post-readmore { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; font-size: .8rem; font-weight: 600; text-decoration: none; color: #edcb82; }
.blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.post-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.post-card-image { display: block; background: #111519; overflow: hidden; }
.post-card-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform 180ms ease; }
.post-card-image:hover img { transform: scale(1.025); }
.post-card-copy { padding: 28px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.post-card h3 { margin-top: 18px; font-size: 1.25rem; line-height: 1.35; }
.post-card .post-readmore { margin-top: auto; padding-top: 24px; }

/* Article */
.article-layout { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(220px,1fr); gap: 64px; align-items: start; }
.article-body { min-width: 0; }
.article-meta { padding-bottom: 24px; border-bottom: 1px solid #2b333d; margin-bottom: 30px; line-height: 1.8; }
.article-section { margin-bottom: 38px; scroll-margin-top: 110px; }
.article-section h2 { font-size: clamp(1.4rem,2.6vw,1.85rem); margin-bottom: 20px; }
.article-section p { color: #b0bac6; font-size: .94rem; line-height: 1.95; margin-top: 16px; }
.article-section ul, .article-section ol { margin-top: 20px; padding-left: 22px; color: #b0bac6; font-size: .9rem; line-height: 1.95; }
.article-section li { padding-left: 5px; margin-block: 10px; }
.article-section li::marker { color: #cbb078; }
.article-section .code { max-width: 100%; white-space: pre; overflow-x: auto; font-size: .78rem; margin-top: 24px; line-height: 1.8; }
.article-aside { position: sticky; top: 106px; display: grid; gap: 20px; }
.article-aside h2, .article-aside h3 { color: #eceee7; font-size: 1rem; margin-bottom: 14px; }
.article-aside p { color: #9eabba; font-size: .8rem; line-height: 1.85; }
.article-toc { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.article-toc a { font-size: .78rem; line-height: 1.7; color: #babdaf; text-decoration: none; }
.article-toc a:hover { color: #edcb82; }
.article-aside .btn { margin-top: 24px; }
@media (max-width: 1000px) {
  .contact-layout, .about-intro { gap: 36px; }
  .contact-form-row { grid-template-columns: 1fr; gap: 0; }
  .article-layout { gap: 32px; }
}
@media (max-width: 800px) {
  .page-grid { grid-template-columns: 1fr; }
  .contact-layout, .about-intro, .article-layout, .blog-featured { grid-template-columns: 1fr; gap: 32px; }
  .blog-featured { gap: 0; }
  .blog-featured-image { min-height: 0; }
  .blog-featured-image img { max-height: 380px; aspect-ratio: 3 / 2; }
  .blog-featured-copy { padding: 32px; }
  .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-aside { position: static; }
  .content-callout, .page-callout { align-items: flex-start; flex-direction: column; }
  .faq-search-field { width: 100%; max-width: none; }
}
@media (max-width: 580px) {
  body.home-gold .content-hero { padding-block: 40px; }
  body.home-gold .content-section { padding-block: 48px; }
  body.home-gold .content-hero h1 { font-size: 2.35rem; }
  .surface-card { padding: 24px; }
  .blog-featured, .post-card { padding: 0; }
  .blog-featured-copy, .post-card-copy { padding: 24px; }
  .blog-grid { grid-template-columns: 1fr; }
  .contact-layout, .about-intro { gap: 30px; }
  .contact-topic { padding: 18px; gap: 12px; }
  .contact-topic .content-icon { display: none; }
  .contact-form-card { padding: 24px; }
  .page-callout { padding: 26px; }
  .article-section p { font-size: .9rem; }
  .article-aside .surface-card { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) { .post-card-image:hover img { transform: none; } }

/* Article artwork preserves the generated composition at every screen size. */
.content-page .article-cover { margin: 0 0 28px; overflow: hidden; border: 1px solid #3c3c31; border-radius: 16px; background: #0d1013; }
.content-page .article-cover img { display: block; width: 100%; height: auto; }
