/* Internal pages extend the approved homepage tokens and shared controls. */
.internal-page { background: #bdcbe3; }
.internal-page *, .internal-page *:before, .internal-page *:after { min-width: 0; }
.container, .header-container { margin-inline: auto; padding-inline: var(--page-gutter); }
.header-container { padding-top: 16px; }
.internal-page .site-header { z-index: 10; }
.internal-page nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; }
.internal-page .talk-button[aria-current="page"] { box-shadow: 0 0 0 3px #bdcbe3, 0 0 0 4px #76072b; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 20; padding: 12px 24px; background: #fff8ef; border-radius: 24px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.page-intro { padding-top: 72px; padding-bottom: 48px; }
.intro-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: end; }
.internal-page h1 { font: 500 clamp(48px,5.3vw,76px)/1.04 'Playfair Display',serif; letter-spacing: -2px; color: #73062a; margin: 16px 0 0; }
.internal-page h1 em { display: block; color: #fff8ef; font-weight: 500; }
.internal-page h2 { font: 500 40px/1.1 'Playfair Display',serif; margin: 0 0 24px; color: #73062a; }
.internal-page h2 em { color: inherit; font-weight: 500; }
.internal-page h3 { font-size: 16px; font-weight: 500; line-height: 1.4; }
.internal-page p { font-size: 16px; line-height: 1.65; margin: 0 0 24px; max-width: 65ch; }
.intro-grid > p { margin: 0 0 4px; max-width: 43ch; }
.internal-page .button { white-space: normal; text-align: center; flex-shrink: 0; }
.internal-page .button .control-icon { flex-shrink: 0; }
.internal-page .kicker { line-height: 1.6; display: block; }
.internal-page .text-link { font-size: 14px; font-weight: 500; color: #73062a; }
.internal-page .text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.concept-card { border: 1px solid #ffffff99; border-radius: 16px; overflow: hidden; background: #f7f2eb80; }
.concept-visual { display: block; width: 100%; height: auto; aspect-ratio: 5/3; }
.concept-card-copy { display: grid; grid-template-rows: 24px 60px 40px 52px 44px; gap: 8px; padding: 24px; }
.concept-card-copy h2 { font-size: 28px; margin: 0; align-self: start; }
.concept-card-copy p { font-size: 14px; line-height: 1.5; margin: 0; }
.concept-card-copy .category { font-size: 11px; color: #73062a; }
.project-details { margin-top: 72px; }
.project-detail { display: grid; grid-template-columns: 1fr 1.25fr; gap: 72px; border-top: 1px solid #73062a40; padding-block: 48px; scroll-margin-top: 24px; }
.project-detail h2 { margin-top: 16px; }
.project-detail h3 { margin: 0 0 8px; color: #73062a; }
.deliverables { padding: 0; margin: 0 0 24px; list-style: none; }
.deliverables li { padding-block: 8px; border-bottom: 1px solid #73062a26; font-size: 14px; line-height: 1.5; }
.deliverables li:before { content: '—'; margin-right: 12px; color: #73062a; }
.page-cta { display: flex; gap: 32px; justify-content: space-between; align-items: center; padding-block: 48px; margin-top: 48px; border-top: 1px solid #73062a40; }
.page-cta h2 { margin: 8px 0 0; }
.offerings { padding-bottom: 48px; }
.offering { display: grid; grid-template-columns: 1fr 1.2fr; gap: 72px; padding-block: 32px; border-top: 1px solid #73062a40; }
.offering-heading { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: 24px auto; gap: 8px 16px; align-content: start; }
.offering-heading .service-icon-slot { grid-row: 1/3; width: 48px; height: 48px; color: #76072b; border: 1px solid #ffffff99; border-radius: 50%; }
.offering-heading .service-icon-slot svg { stroke: currentColor; }
.offering-heading h2 { font-size: 30px; margin: 0; }
.offering > div > p { margin-bottom: 16px; }
.internal-page .impact { height: 250px; }
.internal-page .impact-title { color: #fff8ef; }
.internal-page .step-grid h3 { font-weight: 400; font-size: 14px; }
.related-work { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-top: 48px; }
.related-work h2 { margin: 8px 0 0; }
.about-story, .beliefs { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; padding-block: 48px; }
.about-art img { display: block; width: 100%; height: auto; }
.about-story h2, .beliefs h2 { margin-top: 16px; }
.beliefs { border-top: 1px solid #73062a40; }
.belief-section { padding-block: 48px; background: #f7f2eb66; }
.belief-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 32px; }
.belief-grid article { display: grid; grid-template-rows: 24px 56px auto; gap: 12px; }
.belief-grid article > span { font-size: 12px; color: #73062a; }
.belief-grid h3 { font: 500 28px/1.15 'Playfair Display',serif; color: #73062a; margin: 0; }
.journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.journal-card { display: grid; grid-template-rows: 40px 150px 96px 44px; gap: 16px; background: #f7f2eb80; border: 1px solid #ffffff99; border-radius: 16px; padding: 24px; }
.journal-card .kicker { font-size: 10px; letter-spacing: 1.5px; }
.journal-card h2 { font-size: 30px; margin: 0; }
.journal-card p { font-size: 14px; margin: 0; }
.article-collection { margin-top: 72px; }
.journal-article { padding-block: 48px; max-width: 740px; margin-inline: auto; border-top: 1px solid #73062a40; scroll-margin-top: 24px; }
.journal-article h2 { margin-top: 16px; }
.journal-article h3 { color: #73062a; margin: 32px 0 12px; }
.internal-page .contact-page { padding-top: 0; padding-bottom: 72px; gap: 72px; align-items: start; background: transparent; }
.internal-page .contact-page h2 { font-size: 40px; margin-top: 16px; }
.internal-page .contact-page .local-notice { padding: 16px; border: 1px solid #73062a40; border-radius: 12px; font-size: 13px; line-height: 1.6; }
.contact-prompts { padding-left: 20px; line-height: 2; margin-block: 24px; }
.internal-page .contact-page form { padding: 32px; border: 1px solid #ffffff99; border-radius: 16px; background: #f7f2eb55; gap: 24px; }
.internal-page .contact-page label { font-size: 14px; }
.field-error { color: #73062a; font-size: 12px; line-height: 1.5; margin-top: -16px; }
.internal-page .contact-page [aria-invalid="true"] { border-bottom: 2px solid #73062a; }
.internal-page .contact-page .form-note { font-size: 13px; margin: 0; }
.internal-page .contact-page .form-note:empty { display: none; }
.internal-page footer { gap: 24px; }
@media(max-width:1000px) and (min-width:681px) {
  .intro-grid { grid-template-columns: 1fr; gap: 24px; }
  .project-grid, .journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .offering, .project-detail, .about-story, .beliefs, .internal-page .contact-page { gap: 32px; }
  .belief-grid h3 { font-size: 24px; }
}
@media(max-width:680px) {
  .page-intro { padding-top: 48px; padding-bottom: 32px; }
  .intro-grid { grid-template-columns: 1fr; gap: 24px; }
  .internal-page h1 { font-size: clamp(42px,12vw,54px); letter-spacing: -1.5px; }
  .internal-page h2 { font-size: 34px; overflow-wrap: break-word; }
  .internal-page p { font-size: 15px; }
  .project-grid, .journal-grid, .belief-grid { grid-template-columns: minmax(0,1fr); }
  .concept-card-copy { grid-template-rows: 24px 60px 40px 52px 44px; padding: 24px; }
  .concept-card-copy h2 { font-size: 28px; }
  .concept-card-copy p { font-size: 14px; }
  .concept-card-copy .category { font-size: 11px; }
  .project-detail, .offering, .about-story, .beliefs, .internal-page .contact-page { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .project-detail, .about-story, .beliefs { padding-block: 32px; }
  .project-details, .article-collection { margin-top: 48px; }
  .offering-heading h2 { font-size: 28px; }
  .internal-page .impact { height: auto; }
  .internal-page .impact-title { font-size: 40px; }
  .page-cta, .related-work { flex-direction: column; align-items: flex-start; gap: 24px; }
  .journal-card { grid-template-rows: 40px 150px 96px 44px; }
  .journal-card h2 { font-size: 30px; }
  .journal-card p { font-size: 14px; }
  .internal-page .contact-page { padding-top: 0; }
  .internal-page .contact-page form { padding: 24px; margin-top: 0; }
  .internal-page .contact-page .button { padding-inline: 16px; }
  .belief-grid article { grid-template-rows: 24px 56px auto; }
  .internal-page footer { flex-wrap: wrap; }
}
@media(max-width:360px) {
  .internal-page { --page-gutter: 16px; }
  .header-container .site-header .wordmark { font-size: 18px; }
  .header-container .site-header .talk-button { font-size: 11px; padding-inline: 8px; }
  .journal-card { padding: 20px; grid-template-rows: 40px 180px 110px 44px; }
  .journal-card h2 { font-size: 28px; }
  .concept-card-copy { padding: 20px; grid-template-rows: 24px 64px 42px 60px 44px; }
  .internal-page .contact-page form { padding: 16px; }
}
