.home-page { background: #f8fafc; color: #0f172a; min-height: 100vh; padding-top: 4rem; }
.home-shell { box-sizing: border-box; width: 100%; max-width: 1000px; padding-inline: 8px; margin-inline: auto; }
.home-hero { background: #132d55; color: #fff; overflow: hidden; }
.home-hero-layout { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); min-height: 32rem; padding-block: 5rem; }
.home-eyebrow { color: #a9d5ff; font-size: .82rem; font-weight: 700; letter-spacing: .15em; margin: 0 0 1.25rem; text-transform: uppercase; }
.home-hero h1 { font-size: clamp(2.7rem, 5vw, 4.35rem); font-weight: 750; letter-spacing: -.045em; line-height: 1.08; margin: 0; max-width: 12ch; }
.home-hero-description { color: #d9e7f7; font-size: 1.125rem; line-height: 1.7; margin: 1.5rem 0 0; max-width: 34rem; }
.home-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.home-button { align-items: center; border: 1px solid transparent; border-radius: .75rem; display: inline-flex; font-size: 1rem; font-weight: 650; gap: .7rem; justify-content: center; min-height: 3rem; padding: .7rem 1.1rem; text-decoration: none; transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.home-button:hover { transform: translateY(-2px); }
.home-button svg { height: 1.1rem; width: 1.1rem; }
.home-button-primary { background: #fff; color: #12335f; }
.home-button-primary:hover { background: #eaf4ff; color: #12335f; }
.home-button-secondary { border-color: #6e8db4; color: #fff; }
.home-button-secondary:hover { background: #244877; color: #fff; }
.home-preview { background: #fff; border: 1px solid #dce8f6; border-radius: 1.25rem; box-shadow: 0 22px 50px rgba(3, 16, 38, .17); color: #27364c; overflow: hidden; padding: 1.1rem; transform: rotate(3deg); }
.home-preview-top { align-items: center; border-bottom: 1px solid #e8edf4; display: flex; gap: .38rem; padding: .1rem .2rem .9rem; }
.home-preview-dot { background: #d5e0ed; border-radius: 50%; height: .52rem; width: .52rem; }
.home-preview-mark { color: #718098; font-size: .75rem; font-weight: 700; margin-inline-start: auto; }
.home-preview-row { align-items: center; background: #f7f9fc; border: 1px solid #e8edf4; border-radius: .8rem; display: flex; gap: .8rem; justify-content: space-between; margin-top: .85rem; padding: .85rem 1rem; }
.home-preview-type { border-radius: .55rem; display: inline-flex; font-size: .95rem; font-weight: 750; justify-content: center; min-width: 4.5rem; padding: .55rem .65rem; }
.home-preview-type-blue { background: #e5efff; color: #2455a8; }
.home-preview-type-green { background: #ddf6ed; color: #16755a; }
.home-preview-type-purple { background: #eeeafd; color: #6547a2; }
.home-preview-arrow { color: #74869e; font-size: 1.4rem; }
.home-directory { padding-block: 4.5rem 6rem; scroll-margin-top: 5rem; }
.home-section-heading { align-items: center; display: flex; gap: 1rem; margin-bottom: 1.7rem; }
.home-section-line { background: #2563eb; border-radius: 1rem; height: 1.9rem; width: .3rem; }
.home-section-heading h2 { font-size: clamp(1.75rem, 3vw, 2.35rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.25; margin: 0; }
.home-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-card { align-items: start; background: #fff; border: 1px solid #e3e9f1; border-radius: 1rem; color: inherit; display: flex; flex-direction: column; min-height: 13rem; padding: 1.5rem; position: relative; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.home-card:hover { border-color: #a9c8ed; box-shadow: 0 9px 24px rgba(27, 59, 104, .08); color: inherit; transform: translateY(-3px); }
.home-card-featured { background: #eaf2ff; border-color: #d0e1fa; grid-column: span 2; }
.home-card-icon { align-items: center; border-radius: .8rem; display: inline-flex; height: 3.3rem; justify-content: center; width: 3.3rem; }
.home-card-icon svg { height: 1.75rem; width: 1.75rem; }
.home-icon-blue { background: #d7e8ff; color: #1d5cac; }
.home-icon-teal { background: #dcf7f0; color: #0f8065; }
.home-icon-amber { background: #fff0d7; color: #a66109; }
.home-icon-purple { background: #ede8ff; color: #6547a2; }
.home-icon-rose { background: #ffe8ef; color: #b54067; }
.home-card-text { display: flex; flex-direction: column; gap: .55rem; margin-top: 1.3rem; padding-inline-end: 1.3rem; }
.home-card-title { color: #14243c; font-size: 1.25rem; font-weight: 720; line-height: 1.3; margin: 0; }
.home-card-description { color: #4d5d72; font-size: .95rem; line-height: 1.6; margin: 0; }
.home-card-arrow { color: #3a6699; position: absolute; inset-block-start: 1.75rem; inset-inline-end: 1.5rem; }
.home-card-arrow svg { height: 1.25rem; width: 1.25rem; }
.home-shortcuts { background: #edf3f9; padding-block: 4.5rem; }
.home-shortcuts-heading { margin-bottom: 1.75rem; }
.home-shortcuts-heading .home-section-heading { margin-bottom: .65rem; }
.home-shortcuts-heading p { color: #53647a; font-size: 1rem; line-height: 1.65; margin: 0; max-width: 40rem; }
.home-shortcuts-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-shortcut { background: #fff; border: 1px solid #dae4ef; border-radius: 1rem; color: inherit; display: flex; flex-direction: column; min-height: 13.5rem; padding: 1.35rem; position: relative; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.home-shortcut:hover { border-color: #a8c6ea; box-shadow: 0 9px 24px rgba(27, 59, 104, .08); color: inherit; transform: translateY(-3px); }
.home-shortcut-formats { background: #e7f0ff; border-color: #c8dbf5; }
.home-shortcut-symbol { align-items: center; background: #e7f6f4; border-radius: .65rem; color: #168071; display: inline-flex; height: 2.75rem; justify-content: center; width: 2.75rem; }
.home-shortcut-symbol-blue { background: #d4e5ff; color: #2455a8; }
.home-shortcut-symbol svg { height: 1.4rem; width: 1.4rem; }
.home-shortcut-title { color: #14243c; font-size: 1.1rem; font-weight: 720; line-height: 1.35; margin-top: 1.2rem; padding-inline-end: 1.5rem; }
.home-shortcut-description { color: #4d5d72; font-size: .9rem; line-height: 1.6; margin-top: .5rem; }
.home-shortcut-arrow { color: #3a6699; position: absolute; inset-block-start: 1.5rem; inset-inline-end: 1.35rem; }
.home-shortcut-arrow svg { height: 1.15rem; width: 1.15rem; }
.home-next { padding-block: 4.5rem 6rem; }
.home-next-panel { align-items: center; background: linear-gradient(115deg, #132d55, #24538a); border-radius: 1.25rem; color: #fff; display: flex; gap: 2rem; justify-content: space-between; padding: 2.5rem 3rem; }
.home-next-copy { max-width: 34rem; }
.home-next h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.25; margin: 0; }
.home-next p { color: #d9e7f7; font-size: 1rem; line-height: 1.65; margin: .75rem 0 0; }
.home-next-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; }
.home-button:focus-visible, .home-card:focus-visible, .home-shortcut:focus-visible { outline: 3px solid #61b1ff; outline-offset: 3px; }
[dir="rtl"] .home-card-arrow svg, [dir="rtl"] .home-shortcut-arrow svg, [dir="rtl"] .home-button svg, [dir="rtl"] .home-preview-arrow { transform: rotate(180deg); }
@media (max-width: 800px) { .home-hero-layout { grid-template-columns: 1fr; gap: 2.5rem; padding-block: 4rem; } .home-preview { max-width: 28rem; transform: none; } .home-card-grid, .home-shortcuts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-card-featured { grid-column: span 2; } .home-next-panel { align-items: stretch; flex-direction: column; } .home-next-actions { justify-content: flex-start; } }
@media (max-width: 560px) { .home-shell { padding-inline: 16px; } .home-hero-layout { padding-block: 3.25rem; } .home-hero h1 { font-size: clamp(2.5rem, 11vw, 3.3rem); } .home-hero-description { font-size: 1rem; } .home-actions { align-items: stretch; flex-direction: column; } .home-preview { display: none; } .home-directory, .home-shortcuts { padding-block: 3rem 4rem; } .home-card-grid, .home-shortcuts-grid { grid-template-columns: 1fr; } .home-card-featured { grid-column: auto; } .home-card, .home-shortcut { min-height: 11.5rem; } .home-next { padding-block: 3rem 4rem; } .home-next-panel { padding: 2rem 1.5rem; } .home-next-actions { align-items: stretch; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .home-button, .home-card, .home-shortcut { transition: none; } .home-button:hover, .home-card:hover, .home-shortcut:hover { transform: none; } }
