/* Herah · estilos das páginas Em breve e políticas. Extraído do site original (herah-cuidado.luhskopinski.chatgpt.site) em 2026-09-23: só as regras que essas páginas usam. */
:root { --background: #f3f0e8; --foreground: #2e4a3f; --card: #fff; --card-foreground: #2e4a3f; --popover: #fff; --popover-foreground: #2e4a3f; --primary: #2e4a3f; --primary-foreground: #f3f0e8; --secondary: #e4eade; --secondary-foreground: #2e4a3f; --muted: #e9ede5; --muted-foreground: #59685d; --accent: #7fa58a; --accent-foreground: #20382d; --destructive: #993c34; --border: #d6dbd0; --input: #abb7a9; --ring: #2e4a3f; --radius: .3rem; --sage: #7fa58a; --forest: #2e4a3f; --cream: #f3f0e8; --ink: #20382d; --gold: #d4af37; --chart-1: #2e4a3f; --chart-2: #7fa58a; --chart-3: #d4af37; --chart-4: #a99d8c; --chart-5: #59685d; --lightningcss-light: initial; --lightningcss-dark: ; color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 32px; }
body { background: var(--cream); color: var(--forest); -webkit-font-smoothing: antialiased; margin: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.6; }
button, a, input { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0px; }
h1, h2 { letter-spacing: -0.045em; font-family: Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.08; }
em { font-family: Georgia, serif; font-weight: 400; }
img { max-width: 100%; display: block; }
svg { flex-shrink: 0; }
:is(button:focus-visible, a:focus-visible, summary:focus-visible) { outline: 2px solid var(--forest); outline-offset: 5px; }
h1:focus { outline: none; }
::selection { background: rgba(212, 175, 55, 0.44); }
.skip-link { z-index: 200; background: var(--forest); color: rgb(255, 255, 255); padding: 12px 20px; position: fixed; top: -100px; left: 20px; }
.skip-link:focus { top: 10px; }
.eyebrow, .section-label { letter-spacing: 0.13em; text-transform: uppercase; font-size: 0.75rem; font-weight: 500; line-height: 1.7; }
.eyebrow { margin-bottom: 26px; }
.site-header { background: rgb(255, 255, 255); justify-content: space-between; align-items: center; gap: 24px; height: 100px; padding: 0px 6vw; display: flex; }
.logo { flex-shrink: 0; display: inline-flex; }
.logo img { width: 151px; height: auto; }
@media (max-width: 1100px) {
.site-header { gap: 20px; height: 88px; padding: 0px 4vw; }
.logo img { width: 128px; }
}
@media (max-width: 850px) {
.site-header { height: 82px; }
}
@media (max-width: 600px) {
.site-header { gap: 10px; height: 78px; padding: 0px 22px; }
.logo img { width: 123px; }
}
@media (prefers-reduced-motion: reduce) {
*, ::before, ::after { scroll-behavior: auto !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
}
.coming-header { height: 94px; }
.coming-preview-link { border-bottom: 1px solid rgb(182, 192, 173); align-items: center; gap: 18px; padding: 10px 0px; font-size: 0.875rem; display: flex; }
.coming-soon { isolation: isolate; color: rgb(255, 249, 236); background: rgb(82, 116, 101); flex-direction: column; justify-content: center; min-height: calc(-94px + 100svh); display: flex; position: relative; overflow: hidden; }
.coming-background { object-fit: cover; object-position: 61% 48%; z-index: -3; width: 100%; height: 100%; position: absolute; inset: 0px; }
.coming-shade { z-index: -2; background: linear-gradient(90deg, rgba(26, 52, 41, 0.88) 0%, rgba(35, 61, 44, 0.72) 27%, rgba(36, 57, 39, 0.32) 49%, rgba(39, 61, 42, 0) 75%), linear-gradient(rgba(0, 0, 0, 0) 75%, rgba(21, 40, 30, 0.74)); position: absolute; inset: 0px; }
.coming-content { max-width: 760px; padding: 65px 7.2vw 145px; }
.coming-content .eyebrow { letter-spacing: 0.11em; color: rgb(243, 236, 213); align-items: center; gap: 14px; margin-bottom: 31px; font-size: 0.75rem; display: flex; }
.coming-content .eyebrow > span { background: rgb(212, 175, 55); width: 27px; height: 1px; }
.coming-content h1 { letter-spacing: -0.055em; text-shadow: rgba(34, 59, 38, 0.1) 0px 1px 15px; font-size: clamp(64px, 6.7vw, 103px); line-height: 1.035; }
.coming-content h1 em { color: rgb(238, 219, 167); }
.coming-status { letter-spacing: 0.14em; text-transform: uppercase; align-items: center; gap: 16px; margin-top: 32px; font-size: 0.875rem; display: flex; }
.coming-status > span { background: rgb(212, 175, 55); width: 37px; height: 1px; }
.coming-description { color: rgb(243, 240, 232); max-width: 365px; margin-top: 24px; font-size: 1rem; line-height: 1.8; }
.coming-signature { color: rgb(238, 219, 167); margin-top: 24px; font-family: Georgia, serif; font-size: 1.375rem; font-style: italic; }
.coming-bottom { border-top: 1px solid rgba(243, 240, 232, 0.25); justify-content: space-between; align-items: center; gap: 25px; padding-top: 24px; font-size: 0.75rem; display: flex; position: absolute; bottom: 32px; left: 7.2vw; right: 7.2vw; }
.coming-bottom > span { letter-spacing: 0.08em; }
.coming-bottom > a { align-items: center; gap: 13px; font-size: 0.875rem; display: flex; }
.coming-bottom nav { gap: 20px; font-size: 0.75rem; display: flex; }
.coming-bottom a:hover { text-underline-offset: 5px; text-decoration: underline; }
.coming-soon a:focus-visible { outline-color: rgb(255, 249, 236); }
@media (max-width: 850px) {
.coming-content { padding: 60px 6vw 140px; }
.coming-content h1 { font-size: 74px; }
.coming-shade { background: linear-gradient(90deg, rgba(26, 52, 41, 0.86), rgba(35, 61, 44, 0.72) 35%, rgba(36, 57, 39, 0.18) 75%), linear-gradient(rgba(0, 0, 0, 0) 70%, rgba(21, 40, 30, 0.8)); }
.coming-bottom { flex-wrap: wrap; left: 6vw; right: 6vw; }
.coming-bottom > span { width: 100%; }
.coming-header { height: 82px; }
.coming-soon { min-height: calc(-82px + 100svh); }
}
@media (max-width: 600px) {
.coming-header { height: 78px; }
.coming-preview-link { gap: 9px; font-size: 0.875rem; }
.coming-soon { justify-content: flex-start; min-height: calc(-78px + 100svh); }
.coming-background { object-position: 64% center; }
.coming-shade { background: linear-gradient(90deg, rgba(25, 55, 40, 0.81), rgba(36, 62, 45, 0.4) 60%, rgba(25, 55, 40, 0.133)), linear-gradient(rgba(0, 0, 0, 0) 40%, rgba(25, 50, 38, 0.85)); }
.coming-content { max-width: 100%; padding: 48px 26px 176px; }
.coming-content .eyebrow { letter-spacing: 0.03em; gap: 10px; margin-bottom: 28px; font-size: 0.75rem; }
.coming-content .eyebrow > span { width: 18px; }
.coming-content h1 { font-size: clamp(53px, 14vw, 70px); line-height: 1.06; }
.coming-status { margin-top: 30px; font-size: 0.875rem; }
.coming-description { max-width: 290px; margin-top: 21px; line-height: 1.75; }
.coming-signature { margin-top: 22px; font-size: 1.25rem; }
.coming-bottom { gap: 15px; padding-top: 19px; bottom: 26px; left: 26px; right: 26px; }
.coming-bottom > span { letter-spacing: 0.02em; font-size: 0.75rem; }
.coming-bottom > a { font-size: 0.875rem; }
.coming-bottom nav { gap: 16px; font-size: 0.75rem; }
}
button { font: inherit; cursor: pointer; }
button:disabled { opacity: 0.38; cursor: not-allowed; }
.privacy-notice { z-index: 40; background: rgb(255, 255, 255); border: 1px solid rgb(215, 223, 208); align-items: center; gap: 18px; max-width: 1040px; margin: 0px auto; padding: 20px 24px; display: flex; position: fixed; bottom: 18px; left: 24px; right: 24px; box-shadow: rgba(27, 50, 39, 0.145) 0px 5px 45px; }
.privacy-notice strong { font-size: 0.875rem; font-weight: 500; display: block; }
.privacy-notice p { color: rgb(86, 102, 79); margin-top: 3px; font-size: 0.75rem; line-height: 1.6; }
.privacy-notice a { text-underline-offset: 3px; text-decoration: underline; }
.notice-button { background: var(--forest); color: rgb(255, 255, 255); white-space: nowrap; border: 0px; margin-left: auto; padding: 11px 22px; font-size: 0.875rem; }
.notice-close { background: 0px 0px; border: 0px; padding: 8px; }
.back-home { align-items: center; gap: 10px; font-size: 0.875rem; display: inline-flex; }
.legal-top { background: rgb(226, 233, 218); padding: 40px 8vw 54px; }
.legal-top .back-home { margin-bottom: 44px; }
.legal-top .eyebrow { margin-bottom: 18px; }
.legal-top h1 { font-size: clamp(40px, 5vw, 68px); }
.legal-intro { max-width: 640px; margin-top: 24px; font-size: 1.0625rem; line-height: 1.8; }
.legal-version { color: rgb(89, 104, 93); margin-top: 23px; font-size: 0.75rem; display: block; }
.legal-body { grid-template-columns: 255px 1fr; gap: 6vw; padding: 65px 8vw 90px; display: grid; }
.legal-nav { border-top: 1px solid rgb(205, 213, 196); flex-direction: column; align-self: start; display: flex; }
.legal-nav a { border-bottom: 1px solid rgb(205, 213, 196); justify-content: space-between; gap: 15px; padding: 15px 5px; font-size: 0.875rem; display: flex; }
.legal-nav a[aria-current="page"] { font-weight: 600; }
.legal-nav a:not([aria-current]) { color: rgb(89, 104, 93); }
.legal-content { max-width: 780px; }
.legal-content > section { border-bottom: 1px solid rgb(216, 222, 208); gap: 23px; margin-bottom: 30px; padding-bottom: 38px; display: flex; }
.legal-number { color: rgb(118, 102, 51); margin-top: 6px; font-size: 0.75rem; }
.legal-content h2 { letter-spacing: -0.03em; margin-bottom: 17px; font-size: 28px; line-height: 1.2; }
.legal-content p { color: rgb(89, 104, 93); font-size: 1rem; line-height: 1.85; }
.legal-sources h3 { margin-bottom: 13px; font-size: 0.875rem; font-weight: 500; }
.legal-sources a { text-underline-offset: 3px; align-items: center; gap: 8px; margin: 12px 0px; font-size: 0.875rem; text-decoration: underline; display: flex; }
@media (max-width: 1100px) {
.site-header { gap: 20px; height: 88px; padding: 0px 4vw; }
.logo img { width: 128px; }
.legal-body { grid-template-columns: 210px 1fr; gap: 5vw; }
}
@media (max-width: 850px) {
.site-header { height: 82px; }
.privacy-notice { gap: 14px; padding: 17px; left: 16px; right: 16px; }
.privacy-notice > svg { display: none; }
.legal-body { grid-template-columns: 1fr; }
.legal-nav { border: 0px; flex-flow: wrap; gap: 0px 25px; }
.legal-content { margin-top: 20px; }
.legal-content > section { gap: 17px; }
.legal-top { padding: 30px 6vw 43px; }
.legal-body { padding: 35px 6vw 70px; }
}
@media (max-width: 600px) {
.site-header { gap: 10px; height: 78px; padding: 0px 22px; }
.logo img { width: 123px; }
.privacy-notice { grid-template-columns: 1fr auto; gap: 12px; padding: 15px 17px; display: grid; bottom: 12px; left: 12px; right: 12px; }
.privacy-notice > div { grid-column: 1 / 3; padding-right: 15px; }
.privacy-notice strong { padding-right: 13px; }
.privacy-notice p { margin-top: 5px; }
.notice-button { grid-column: 1; justify-self: start; margin: 0px; padding: 8px 24px; }
.notice-close { position: absolute; top: 9px; right: 8px; }
.legal-top { padding: 25px 26px 40px; }
.legal-top .back-home { margin-bottom: 33px; }
.legal-top h1 { font-size: 43px; }
.legal-intro { font-size: 1rem; line-height: 1.75; }
.legal-body { gap: 28px; padding: 28px 26px 55px; }
.legal-nav { gap: 0px 20px; }
.legal-nav a { padding: 12px 0px; }
.legal-nav svg { display: none; }
.legal-content > section { gap: 13px; margin-bottom: 25px; padding-bottom: 28px; }
.legal-content h2 { font-size: 26px; }
}

/* Página institucional "A Herah" (/a-herah), 2026-10-29: conteúdo do material "Onboarding de Profissionais", no padrão visual da "Em breve". */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.inst-hero .coming-background { object-position: 4% 0%; }
/* Degradê do topo medido na auditoria de acessibilidade (29/10): pior caso 4,9:1 no título e 6,15:1 no texto. */
.inst-hero .coming-shade { background: linear-gradient(90deg, rgba(26, 52, 41, 0.88) 0%, rgba(35, 61, 44, 0.8) 40%, rgba(36, 57, 39, 0.55) 58%, rgba(39, 61, 42, 0) 85%), linear-gradient(rgba(0, 0, 0, 0) 75%, rgba(21, 40, 30, 0.74)); }
.inst-hero .coming-content { max-width: 860px; }
.inst-hero .coming-content h1 { font-size: clamp(44px, 4.4vw, 68px); }
.inst-hero .coming-description { max-width: 540px; margin-top: 14px; font-size: 0.9375rem; line-height: 1.7; }
.inst-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.inst-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: var(--radius); font-size: 0.9375rem; line-height: 1.3; transition: background-color 0.2s ease, border-color 0.2s ease; }
.inst-button--gold { background: var(--gold); color: #10372b; }
.inst-button--gold:hover { background: #e0c158; }
.inst-button--light { border-color: rgba(255, 249, 236, 0.65); color: rgb(255, 249, 236); }
.inst-button--light:hover { background: rgba(255, 249, 236, 0.12); }
.inst-section { padding: clamp(64px, 8vw, 112px) 8vw; background: #fbfaf6; color: var(--forest); box-shadow: inset 8px 0 0 #b99343; }
.inst-section--sand { background: #f4f0e7; }
.inst-inner { max-width: 1180px; margin: 0 auto; }
.inst-section .eyebrow { margin-bottom: 18px; color: #6e5e2c; font-weight: 700; }
.inst-section h2 { max-width: 920px; font-size: clamp(36px, 4.4vw, 60px); }
.inst-lead { max-width: 660px; margin-top: 20px; color: var(--muted-foreground); font-size: 1.0625rem; line-height: 1.75; }
.inst-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 44px 0 0; padding: 0; list-style: none; }
.inst-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inst-card { padding: 28px 30px 34px; border-radius: 14px; background: #f0efe7; }
.inst-card--sage { background: #e1e6e0; }
.inst-card--light { background: #fbfaf6; }
.inst-card h3 { margin-bottom: 12px; color: #6e5e2c; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.inst-card p { color: var(--ink); font-size: 1.0625rem; line-height: 1.65; }
.inst-card--dark { max-width: 620px; margin-top: 40px; padding: 32px 34px 44px; background: #10372b; }
.inst-card--dark h3 { color: var(--gold); }
.inst-card--dark p { color: rgb(255, 249, 236); }
.inst-note { max-width: 860px; margin-top: 28px; color: var(--muted-foreground); font-size: 0.9375rem; }
.inst-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 48px 0 0; padding: 0; list-style: none; }
.inst-step-number { display: flex; align-items: center; gap: 18px; margin-bottom: 20px; }
.inst-step-number span { display: grid; flex: 0 0 52px; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e1e6e0; color: var(--ink); font-size: 0.875rem; font-weight: 700; }
.inst-step-number::after { content: ""; flex: 1; height: 3px; background: #e2cf9a; }
.inst-steps li:last-child .inst-step-number::after, .inst-steps--gold .inst-step-number::after { display: none; }
.inst-steps:not(.inst-steps--gold) li:first-child .inst-step-number span { background: #10372b; color: #fff; }
.inst-steps--gold .inst-step-number span { background: var(--gold); color: #10372b; }
.inst-steps h4 { margin-bottom: 8px; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; letter-spacing: -0.02em; line-height: 1.2; }
.inst-steps p { color: var(--muted-foreground); line-height: 1.65; }
.inst-callout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; margin-top: 48px; padding: 28px 36px; border-radius: 14px; background: #10372b; color: rgb(255, 249, 236); }
.inst-callout p { max-width: 680px; font-size: 1.0625rem; line-height: 1.6; }
.inst-values { margin: 44px 0 0; padding: 0; border-top: 1px solid #d8ded0; list-style: none; }
.inst-values li { display: grid; grid-template-columns: minmax(220px, 380px) 1fr; align-items: center; gap: 10px 40px; padding: 24px 0; border-bottom: 1px solid #d8ded0; }
.inst-values strong { display: flex; align-items: center; gap: 18px; font-size: 0.875rem; letter-spacing: 0.06em; text-transform: uppercase; }
.inst-value-num { display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #e1e6e0; font-size: 0.8125rem; letter-spacing: 0; }
.inst-values li:first-child .inst-value-num { background: #10372b; color: #fff; }
.inst-value-tag { margin-bottom: 4px; color: var(--forest); font-weight: 700; }
.inst-values p { color: var(--ink); line-height: 1.6; }
.inst-band, .inst-final { position: relative; isolation: isolate; overflow: hidden; padding: clamp(72px, 9vw, 128px) 8vw; background: #10372b; color: rgb(255, 249, 236); box-shadow: inset 8px 0 0 #b99343; }
.inst-band-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 60% 45%; }
.inst-band-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16, 55, 43, 0.96) 0%, rgba(16, 55, 43, 0.88) 45%, rgba(16, 55, 43, 0.3) 100%); }
.inst-band .eyebrow, .inst-final .eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; color: rgb(243, 236, 213); font-weight: 700; }
.inst-band .eyebrow > span, .inst-final .eyebrow > span { width: 27px; height: 1px; background: var(--gold); }
.inst-band h2 { color: var(--gold); font-size: clamp(52px, 6.4vw, 96px); }
.inst-band-box { max-width: 680px; margin-top: 40px; padding: 30px 34px; border-radius: 14px; background: rgba(27, 73, 58, 0.88); font-size: clamp(1.125rem, 1.6vw, 1.375rem); line-height: 1.6; }
.inst-final { padding-bottom: 40px; }
.inst-final .inst-band-image { object-position: 50% 30%; }
.inst-final-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(240px, 0.7fr); align-items: center; gap: 48px 6vw; max-width: 1180px; margin: 0 auto; }
.inst-final h2 { font-size: clamp(40px, 4.6vw, 68px); }
.inst-final h2 em { color: rgb(238, 219, 167); }
.inst-logo-card { display: grid; justify-self: center; place-items: center; width: min(100%, 380px); aspect-ratio: 1 / 0.92; padding: 14%; border-radius: 22px; background: #fff; }
.inst-logo-card img { width: 100%; height: auto; }
.inst-hero a:focus-visible, .inst-band a:focus-visible, .inst-final a:focus-visible, .inst-callout a:focus-visible { outline-color: rgb(255, 249, 236); }
@media (max-width: 1100px) {
.inst-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inst-step-number::after { display: none; }
}
@media (max-width: 850px) {
.inst-section, .inst-band, .inst-final { padding-left: 6vw; padding-right: 6vw; }
.inst-cards, .inst-cards--2 { grid-template-columns: 1fr; }
.inst-values li { grid-template-columns: 1fr; }
.inst-final-grid { grid-template-columns: 1fr; }
.inst-logo-card { justify-self: start; width: min(100%, 300px); }
.inst-band-shade { background: linear-gradient(90deg, rgba(16, 55, 43, 0.95), rgba(16, 55, 43, 0.82)); }
}
@media (max-width: 600px) {
.inst-hero .coming-content h1 { font-size: clamp(42px, 11.5vw, 58px); }
.inst-section, .inst-band, .inst-final { padding-left: 26px; padding-right: 26px; box-shadow: inset 5px 0 0 #b99343; }
.inst-steps { grid-template-columns: 1fr; }
.inst-callout { padding: 24px; }
.inst-actions { flex-direction: column; align-items: stretch; }
.inst-final { padding-bottom: 32px; }
}
/* Foto do topo (2400×1018, mulher a 52% da largura): em telas largas ela fica à direita do texto; em telas quase quadradas ou em pé, ao centro. */
@media (max-aspect-ratio: 4/3) {
.inst-hero .coming-background { object-position: 50% 0%; }
}
/* Cabeçalho da página principal: "Encontre seu caminho" (quiz) e o botão do cadastro de profissionais lado a lado. */
.inst-header-links { display: flex; align-items: center; gap: 28px; }
.inst-button--header { min-height: 44px; padding: 10px 18px; font-size: 0.875rem; }
.inst-label-short { display: none; }
@media (max-width: 760px) {
.inst-header-links { gap: 12px; }
.inst-header .coming-preview-link { gap: 6px; max-width: 96px; padding: 6px 0; font-size: 0.75rem; line-height: 1.25; }
.inst-header .coming-preview-link svg { display: none; }
.inst-button--header { min-height: 40px; padding: 8px 12px; font-size: 0.8125rem; }
.inst-button--header svg { display: none; }
.inst-label-long { display: none; }
.inst-label-short { display: inline; }
}
@media (max-width: 400px) {
.inst-header .logo img { width: 100px; }
}
/* Página principal com a copy revisada (29/10): menu, textos longos, cartões numerados e rodapé. */
.inst-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; margin-right: 32px; font-size: 0.875rem; }
.inst-nav a { padding: 8px 0; border-bottom: 1px solid transparent; }
.inst-nav a:hover { border-bottom-color: rgb(182, 192, 173); }
.inst-header .coming-preview-link { gap: 10px; padding: 10px 16px; border: 1px solid rgba(46, 74, 63, 0.45); border-radius: var(--radius); }
.inst-hero-lead { margin-top: 26px; color: rgb(238, 219, 167); font-family: Georgia, serif; font-size: clamp(1.25rem, 1.6vw, 1.5rem); font-style: italic; line-height: 1.35; }
.inst-hero .coming-description + .coming-description { margin-top: 10px; }
.inst-intro { max-width: 700px; margin-top: 24px; }
.inst-intro p { color: var(--muted-foreground); font-size: 1.0625rem; line-height: 1.75; }
.inst-intro p + p { margin-top: 14px; }
.inst-band .inst-intro p, .inst-final .inst-intro p { color: rgb(243, 240, 232); }
.inst-subtitle { margin-top: 56px; font-family: Georgia, serif; font-size: clamp(24px, 2.4vw, 32px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.2; }
.inst-subtitle + .inst-cards, .inst-subtitle + .inst-steps, .inst-subtitle + .inst-values { margin-top: 28px; }
.inst-card-num { display: block; margin-bottom: 14px; color: #6e5e2c; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; }
.inst-card h4 { margin-bottom: 6px; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; letter-spacing: -0.02em; line-height: 1.2; }
.inst-card .inst-card-tag { margin-bottom: 10px; color: var(--forest); font-weight: 700; }
.inst-card--dark .inst-card-tag { color: rgb(238, 219, 167); }
.inst-card--dark p + p { margin-top: 10px; }
.inst-statement { max-width: 820px; margin-top: 48px; font-family: Georgia, serif; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.02em; line-height: 1.3; }
.inst-statement-text { max-width: 700px; margin-top: 12px; color: var(--muted-foreground); font-size: 1.0625rem; line-height: 1.75; }
.inst-band-box strong { display: block; margin-bottom: 6px; color: var(--gold); font-weight: 700; }
.inst-band .inst-note { color: rgba(243, 240, 232, 0.85); }
.inst-final-tagline { margin-top: 24px; color: rgb(238, 219, 167); font-family: Georgia, serif; font-size: 1.375rem; }
.inst-site-footer { padding: 64px 8vw 28px; background: #0c2a21; color: rgb(243, 240, 232); box-shadow: inset 8px 0 0 #b99343; }
.inst-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; max-width: 1180px; margin: 0 auto; }
.inst-footer-logo { color: var(--gold); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.24em; }
.inst-footer-tagline { margin-top: 14px; color: rgb(238, 219, 167); font-family: Georgia, serif; font-size: 1.375rem; line-height: 1.3; }
.inst-footer-sub { margin-top: 8px; color: rgba(243, 240, 232, 0.8); font-size: 0.9375rem; }
.inst-footer-title { margin-bottom: 14px; color: rgb(243, 236, 213); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.inst-site-footer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 0.9375rem; }
.inst-site-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.inst-site-footer a:focus-visible { outline-color: rgb(255, 249, 236); }
.inst-copyright { max-width: 1180px; margin: 48px auto 0; padding-top: 20px; border-top: 1px solid rgba(243, 240, 232, 0.2); color: rgba(243, 240, 232, 0.75); font-size: 0.8125rem; }
@media (max-width: 1280px) {
.inst-nav { display: none; }
}
@media (max-width: 850px) {
.inst-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
.inst-header .coming-preview-link { padding: 6px 0; border: 0; border-bottom: 1px solid rgb(182, 192, 173); border-radius: 0; }
}
@media (max-width: 600px) {
.inst-hero .coming-shade { background: linear-gradient(rgba(25, 55, 40, 0.78), rgba(25, 55, 40, 0.78)), linear-gradient(rgba(0, 0, 0, 0) 40%, rgba(25, 50, 38, 0.85)); }
.inst-footer-grid { grid-template-columns: 1fr; }
.inst-site-footer { padding: 48px 26px 24px; box-shadow: inset 5px 0 0 #b99343; }
.inst-subtitle { margin-top: 40px; }
}
