/* Shared base styles and components used by every page. */
/* Per-page rules live in css/<page>.css; fonts in css/fonts.css. */

html, body { margin: 0; padding: 0; background: #f4efe5; color: #1a1713; font-family: 'Newsreader', Georgia, serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #1f6f5f; text-decoration: none; }
a:hover { color: #1a1713; }
@keyframes gsBlink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes gsRise { 0% { opacity: 0; transform: translateY(8px); } 100% { opacity: 1; transform: translateY(0); } }

/* Components shared by two or more pages (converted from inline styles). */
.page-div-1 { min-height: 100vh; background: #f4efe5; color: #1a1713; }
.nav-1 { position: sticky; top: 0; z-index: 20; background: rgba(244,239,229,.92); backdrop-filter: blur(8px); border-bottom: 1px solid #d8d0bf; }
.nav-div-2 { max-width: 1180px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nav-a-3 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 18px; letter-spacing: -.02em; color: #1a1713; display: flex; align-items: center; gap: 10px; }
.nav-a-3:hover { color: #1a1713; }  /* was inline: no hover change */
.nav-span-4 { width: 12px; height: 12px; background: #1f6f5f; border-radius: 2px; display: inline-block; }
.nav-div-5 { display: flex; gap: 18px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; letter-spacing: .02em; flex-wrap: nowrap; white-space: nowrap; overflow-x: auto; justify-content: center; min-width: 0; }
.nav-a-6 { color: #1a1713; }
.nav-a-6:hover { color: #1f6f5f; }
.nav-a-7 { background: #1a1713; color: #f4efe5; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 14px; padding: 10px 18px; border-radius: 4px; white-space: nowrap; }
.nav-a-7:hover { background: #1f6f5f; color: #f4efe5; }
.shared-section-1 { background-image: radial-gradient(#d8d0bf 0.7px, transparent 0.7px); background-size: 22px 22px; border-bottom: 1px solid #d8d0bf; }
.shared-div-2 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #1f6f5f; }
.shared-div-3 { border: 1px solid #1a1713; border-radius: 8px; background: #fbf8f1; box-shadow: 8px 8px 0 #1a1713; overflow: hidden; }
.shared-div-4 { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid #1a1713; font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .06em; color: #6b655a; }
.shared-span-5 { width: 8px; height: 8px; border-radius: 50%; background: #1f6f5f; animation: gsBlink 1.6s ease-in-out infinite; }
.shared-span-6 { margin-left: auto; }
.shared-span-7 { display: flex; flex-direction: column; gap: 3px; }
.shared-span-8 { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #a39c8e; }
.shared-section-9 { background: #1a1713; color: #f4efe5; }
.shared-div-10 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8fc4b5; }
.shared-span-11 { width: 8px; height: 8px; border-radius: 50%; background: #8fc4b5; animation: gsBlink 1.6s ease-in-out infinite; }
.shared-div-12 { display: flex; flex-direction: column; gap: 10px; }
.shared-div-13 { font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #8fc4b5; }
.shared-section-14 { border-bottom: 1px solid #d8d0bf; }
.shared-div-15 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .12em; color: #1f6f5f; }
.shared-div-16 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 24px; letter-spacing: -.02em; }
.shared-div-17 { max-width: 1180px; margin: 0 auto; padding: 96px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 56px; align-items: center; }
.shared-div-18 { padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.shared-span-19 { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .1em; color: #6b655a; }
.shared-div-20 { display: flex; flex-direction: column; gap: 22px; }
.shared-h2-21 { margin: 0; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: clamp(34px, 4.5vw, 54px); line-height: 1; letter-spacing: -.03em; text-wrap: balance; }
.shared-p-22 { margin: 0; font-size: 19px; line-height: 1.5; color: #3d3831; text-wrap: pretty; }
.shared-span-23 { color: #1f6f5f; }
.shared-a-24 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; color: #1f6f5f; border-bottom: 2px solid #1f6f5f; align-self: flex-start; }
.shared-a-24:hover { color: #1f6f5f; }  /* was inline: no hover change */
.shared-span-25 { font-family: 'Archivo', sans-serif; font-weight: 600; }
.shared-div-26 { max-width: 1180px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 48px; }
.shared-div-27 { padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.shared-div-28 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #6b655a; }
.shared-div-29 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.shared-div-30 { border: 1px solid #d8d0bf; border-radius: 6px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.shared-span-31 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 22px; }
.shared-div-32 { display: flex; flex-direction: column; gap: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #3d3831; }
.shared-div-33 { display: flex; gap: 10px; }
.shared-span-34 { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #6b655a; }
.shared-div-35 { border: 1px solid #f4efe5; border-radius: 8px; background: #221e19; overflow: hidden; }
.shared-div-36 { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid #4a4439; font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .06em; color: #a39c8e; }
.shared-span-37 { color: #8fc4b5; flex-shrink: 0; }
.shared-p-38 { margin: 0; font-size: 19px; line-height: 1.5; color: #cfc8ba; text-wrap: pretty; }
.shared-span-39 { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #6b655a; }
.shared-span-40 { color: #6b655a; letter-spacing: 0; }
.shared-div-41 { max-width: 1180px; margin: 0 auto; padding: 96px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 56px; align-items: start; }
.shared-div-42 { display: flex; flex-direction: column; gap: 22px; border: 1px solid #d8d0bf; border-radius: 8px; padding: 24px; background: #fbf8f1; }
.shared-span-43 { display: flex; justify-content: space-between; font-family: 'IBM Plex Mono', monospace; font-size: 13px; }
.shared-strong-44 { font-weight: 500; color: #1f6f5f; }
.shared-input-45 { width: 100%; }
.shared-div-46 { border: 1px solid #1a1713; border-radius: 8px; background: #fbf8f1; box-shadow: 8px 8px 0 #1a1713; overflow: hidden; position: sticky; top: 90px; }
.shared-div-47 { display: flex; flex-direction: column; gap: 6px; }
.shared-div-48 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.shared-div-49 { border-top: 1px solid #d8d0bf; padding-top: 12px; display: flex; flex-direction: column; gap: 4px; }
.shared-span-50 { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #6b655a; }
.shared-a-51 { background: #1a1713; color: #f4efe5; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; padding: 14px 20px; border-radius: 4px; text-align: center; }
.shared-a-51:hover { background: #1f6f5f; color: #f4efe5; }
.shared-div-52 { max-width: 1180px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 40px; }
.shared-div-53 { max-width: 720px; display: flex; flex-direction: column; gap: 18px; }
.shared-div-54 { display: grid; grid-template-columns: 1.2fr 1fr 1fr; background: #1a1713; color: #f4efe5; font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.shared-div-55 { padding: 14px 18px; }
.shared-div-56 { padding: 14px 18px; color: #a39c8e; }
.shared-div-57 { padding: 14px 18px; color: #8fc4b5; }
.shared-div-58 { display: flex; flex-direction: column; border-top: 1px solid #1a1713; }
.shared-div-59 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #6b655a; line-height: 1.5; }
.shared-div-60 { display: flex; flex-direction: column; gap: 24px; }
.shared-span-61 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 20px; }
.shared-div-62 { display: flex; flex-direction: column; gap: 4px; }
.shared-div-63 { max-width: 1180px; margin: 0 auto; padding: 96px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 56px; align-items: start; }
.shared-div-64 { display: flex; flex-direction: column; gap: 18px; }
.faq-button-1 { width: 100%; background: transparent; border: 0; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; text-align: left; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 19px; letter-spacing: -.01em; color: #1a1713; }
.faq-span-2 { font-family: 'IBM Plex Mono', monospace; font-size: 20px; color: #1f6f5f; transition: transform .3s; flex-shrink: 0; }
.faq-p-3 { margin: 0; padding: 0 40px 22px 0; font-size: 17px; line-height: 1.55; color: #3d3831; animation: gsRise .35s ease both; }
.shared-h2-65 { margin: 0; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(40px, 6vw, 80px); line-height: .95; letter-spacing: -.035em; max-width: 900px; text-wrap: balance; }
.footer-1 { border-top: 1px solid #3a352d; }
.footer-div-2 { max-width: 1180px; margin: 0 auto; padding: 28px 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #8a8478; }
.footer-span-3 { display: flex; align-items: center; gap: 10px; color: #f4efe5; }
.footer-span-4 { width: 10px; height: 10px; background: #1f6f5f; border-radius: 2px; display: inline-block; }
.footer-div-5 { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-a-6 { color: #cfc8ba; }
.footer-a-6:hover { color: #8fc4b5; }
.shared-a-66 { color: #1f6f5f; border-bottom: 1px solid #1f6f5f; }
.shared-a-66:hover { color: #1f6f5f; }  /* was inline: no hover change */
.shared-div-67 { display: flex; flex-direction: column; gap: 24px; max-width: 820px; }
.shared-h1-68 { margin: 0; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(42px, 6.5vw, 84px); line-height: .95; letter-spacing: -.035em; text-wrap: balance; }
.shared-p-69 { margin: 0; font-size: 21px; line-height: 1.45; color: #3d3831; max-width: 640px; text-wrap: pretty; }
.shared-div-70 { display: flex; gap: 14px; flex-wrap: wrap; }
.shared-a-71 { background: #1f6f5f; color: #f4efe5; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 15px 24px; border-radius: 4px; box-shadow: 4px 4px 0 #1a1713; }
.shared-a-71:hover { background: #1a1713; color: #f4efe5; }
.shared-a-72 { color: #1a1713; font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 16px; padding: 15px 8px; border-bottom: 2px solid #1a1713; }
.shared-a-72:hover { color: #1f6f5f; border-bottom: 2px solid #1f6f5f; }
.shared-div-73 { padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.shared-div-74 { display: flex; flex-direction: column; gap: 8px; }
.shared-span-75 { color: #6b655a; }
.shared-span-76 { color: #a39c8e; }
.shared-span-77 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; }
.shared-div-78 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #3d3831; }
.shared-span-79 { display: flex; gap: 8px; }
.shared-p-80 { margin: 0; font-size: 16px; line-height: 1.5; color: #5a544a; }
.shared-div-81 { padding: 22px; display: flex; flex-direction: column; gap: 18px; }
.shared-div-82 { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.shared-button-83 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 13px; padding: 9px 14px; border: 1px solid #1a1713; border-radius: 4px; background: transparent; color: #1a1713; cursor: pointer; }
.shared-button-83:hover { background: #1a1713; color: #f4efe5; }
.shared-ul-84 { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #cfc8ba; }
.shared-span-85 { color: #8fc4b5; }
.shared-li-86 { display: flex; gap: 10px; align-items: center; }
.shared-div-87 { border: 1px solid #d8d0bf; border-radius: 6px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.shared-span-88 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; }
.shared-p-89 { margin: 0; font-size: 16px; line-height: 1.5; color: #3d3831; }
.shared-div-90 { max-width: 1180px; margin: 0 auto; padding: 96px 24px; display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.shared-div-91 { display: flex; flex-direction: column; gap: 14px; max-width: 680px; }
.shared-h2-92 { margin: 0; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(32px, 4.5vw, 56px); line-height: .98; letter-spacing: -.03em; text-wrap: balance; }
.shared-p-93 { margin: 0; font-size: 19px; line-height: 1.5; color: #cfc8ba; }
.shared-div-94 { display: flex; gap: 12px; flex-wrap: wrap; }
.shared-a-95 { color: #f4efe5; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 16px 22px; border: 1px solid #f4efe5; border-radius: 4px; white-space: nowrap; }
.shared-a-95:hover { background: #f4efe5; color: #1a1713; }
.shared-a-96 { background: #1f6f5f; color: #f4efe5; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 16px 26px; border-radius: 4px; white-space: nowrap; }
.shared-a-96:hover { background: #8fc4b5; color: #1a1713; }
.shared-div-97 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 45%), 1fr)); gap: 1px; border: 1px solid #1a1713; border-radius: 8px; overflow: hidden; background: #d8d0bf; }
.shared-div-98 { padding: 26px 24px; background: #fbf8f1; display: flex; flex-direction: column; gap: 12px; }
.shared-div-99 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 21px; letter-spacing: -.02em; line-height: 1.1; }
.shared-p-100 { margin: 0; font-size: 19px; line-height: 1.5; color: #3d3831; }
.shared-span-101 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 28px; letter-spacing: -.03em; }
.shared-div-102 { display: flex; gap: 8px; flex-wrap: wrap; }
.shared-div-103 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 13px; }
