/* Horizon Personal — scoped styles and the institutional product showcase. */
.hp-page, .hp-products { --hp-ink:#17271f; --hp-muted:#617267; --hp-paper:#f3f5ee; --hp-orange:#ffae83; --hp-accent:#aa4b21; --hp-line:#dce3d7; }
.hp-page { background:var(--hp-paper); color:var(--hp-ink); }
.hp-page *, .hp-products * { min-width:0; }
.hp-page figure { margin:0; }
.hp-page [hidden] { display:none!important; }
.hp-page h2, .hp-products h2 { font-size:clamp(32px,3.6vw,50px); line-height:1.12; letter-spacing:-.045em; margin:0 0 25px; font-weight:400; }
.hp-page h3 { font-weight:500; letter-spacing:-.025em; }
.hp-page p { line-height:1.8; }
.hp-page .eyebrow, .hp-products .eyebrow { font-size:10px; letter-spacing:.12em; color:var(--hp-accent); }
.hp-page :focus-visible, .hp-products :focus-visible { outline:3px solid #a54823; outline-offset:5px; }
.hp-hero :focus-visible, .hp-financial :focus-visible { outline-color:var(--hp-orange); }
.menu-item-horizon-personal a { color:#ffbc98; }
.horizon-personal-page .primary-nav a[aria-current="page"] { color:#ffae83; }
.hp-hero { background:#111d18; color:#f8f4eb; overflow:hidden; position:relative; }
.hp-breadcrumb { display:flex; gap:16px; padding-top:28px; font-size:11px; color:#b7c4b8; }
.hp-hero-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center; padding-block:100px 100px; min-height:690px; }
.hp-hero .eyebrow { color:var(--hp-orange); margin-bottom:24px; }
.hp-dot { width:7px; height:7px; display:inline-block; background:currentColor; border-radius:50%; box-shadow:0 0 0 5px #ffae8318; margin-right:7px; }
.hp-hero h1 { font-size:clamp(48px,4.8vw,70px); font-weight:400; line-height:1.03; letter-spacing:-.055em; margin:0 0 28px; }
.hp-hero h1 span { color:var(--hp-orange); }
.hp-lead { font-size:17px; color:#b9c7bb; max-width:520px; margin:0 0 31px; }
.hp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.hp-actions .text-link { font-size:12px; }
.hp-button { background:var(--hp-orange); color:#271a12; border-color:var(--hp-orange); }
.hp-button:hover { background:#ffc4a5; color:#23180f; }
.hp-hero-note { display:flex; align-items:center; gap:9px; margin-top:29px; color:#a9b9ac; font-size:11px; }
.hp-hero-note .icon { width:17px; color:var(--hp-orange); }
.hp-hero-visual { position:relative; padding-block:56px; }
.hp-orbit { position:absolute; width:115%; aspect-ratio:1; border:1px solid #ffae8322; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.hp-orbit::before { content:''; position:absolute; inset:34px; border:1px dashed #ffae8324; border-radius:50%; }
.hp-screen-frame { border:1px solid #cdd7ca; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 20px 45px #1e352512; }
.hp-frame-top { padding:15px 18px; display:flex; align-items:center; gap:15px; background:#e9eee3; color:#3c5142; font:10px/1.4 'Courier New',monospace; letter-spacing:.05em; }
.hp-frame-top small { margin-left:auto; font-size:8px; letter-spacing:.04em; }
.hp-window-dots { display:flex; gap:5px; }.hp-window-dots i { width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.5; }
.hp-screen-frame img { display:block; width:100%; height:auto; }
.hp-hero-frame { position:relative; transform:rotate(-2deg); border-color:#59705b; box-shadow:0 35px 85px #0006; }
.hp-hero-frame .hp-frame-top { background:#29372c; color:#dce3d1; }.hp-hero-frame .hp-frame-top b { color:var(--hp-orange); }
.hp-frame-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:20px; background:#253228; color:#d3decf; font-size:10px; }.hp-frame-bottom .icon { color:var(--hp-orange); width:18px; }
.hp-float { position:absolute; display:flex; align-items:center; gap:12px; background:#f9f4e7; padding:15px 19px; border:1px solid #e3dcc7; border-radius:12px; color:#63705a; font-size:10px; line-height:1.7; box-shadow:0 14px 35px #0003; }
.hp-float > .icon { color:#ad542d; width:26px; height:26px; }.hp-float strong { color:#263e2f; font-size:12px; }
.hp-float-top { right:18px; top:6px; }.hp-float-bottom { bottom:14px; left:12px; }
.hp-shot-note { position:absolute; right:0; bottom:-23px; margin:0; color:#a0afa1; font-size:9px; }
.hp-hero-foot { border-top:1px solid #54644e44; padding-block:23px; display:flex; justify-content:space-between; gap:20px; font:9px/1.5 'Courier New',monospace; letter-spacing:.11em; color:#a7b99e; }
.hp-section-nav { background:#18271e; color:#d6dfcf; border-top:1px solid #3a5033; }
.hp-section-nav > div { display:flex; gap:34px; align-items:center; flex-wrap:wrap; padding-block:22px; }
.hp-section-nav a { font-size:11px; padding-block:4px; }.hp-section-nav a:hover { color:var(--hp-orange); }
.hp-section { padding-block:92px; }.hp-paper { background:var(--hp-paper); }.hp-white { background:#fffefa; }
.hp-heading { display:flex; justify-content:space-between; align-items:end; gap:55px; margin-bottom:40px; }
.hp-heading > div { flex:1; }.hp-heading h2 { margin-bottom:0; }.hp-heading > p { color:var(--hp-muted); max-width:390px; font-size:15px; margin:0; }
.hp-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hp-pillar { background:#fffef9; border:1px solid var(--hp-line); border-radius:15px; padding:31px 27px 24px; display:flex; flex-direction:column; }
.hp-pillar-icon { width:47px; height:47px; background:#f9e5d4; color:#9d522c; border-radius:12px; display:grid; place-items:center; margin-bottom:23px; }
.hp-pillar:nth-child(2) .hp-pillar-icon { background:#e4ecd9; color:#4e713e; }.hp-pillar:nth-child(3) .hp-pillar-icon { background:#e7e6f3; color:#646491; }
.hp-label { font:9px/1.5 'Courier New',monospace; color:#687961; letter-spacing:.1em; text-transform:uppercase; }
.hp-pillar h3 { font-size:23px; line-height:1.25; margin:8px 0 14px; }.hp-pillar > p:not(.hp-label) { font-size:13px; color:var(--hp-muted); margin:0 0 26px; }
.hp-pillar-path { border-top:1px solid var(--hp-line); padding-top:18px; font-size:10px; color:#6b775e; margin-top:auto; }
.hp-audience { display:flex; align-items:start; gap:35px; margin-top:31px; border:1px solid var(--hp-line); padding:21px 27px; border-radius:12px; }
.hp-audience > span { font:9px/1.6 'Courier New',monospace; letter-spacing:.06em; flex:0 0 170px; color:#5a6c51; }.hp-audience p { font-size:13px; color:var(--hp-muted); margin:0; }
.hp-feature-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:65px; align-items:center; }
.hp-feature-copy > p:not(.eyebrow) { font-size:15px; color:var(--hp-muted); margin:0 0 26px; }
.hp-checks { list-style:none; padding:0; margin:0; }.hp-checks li { display:flex; align-items:start; gap:10px; font-size:13px; line-height:1.7; margin:0 0 15px; color:#50634f; }.hp-checks .icon { width:17px; height:17px; flex-shrink:0; margin-top:3px; color:#a4562d; }
.hp-enlarge { display:block; position:relative; color:#172b1d; }.hp-enlarge > img { width:100%; height:auto; display:block; }
.hp-enlarge > span { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; gap:6px; background:#fffef5eb; border:1px solid #bdc9b6; border-radius:22px; padding:7px 12px; font-size:10px; box-shadow:0 3px 10px #0001; }.hp-enlarge > span .icon { width:14px; height:14px; }
.hp-feature-figure figcaption { font-size:10px; color:#758069; line-height:1.7; margin-top:15px; }
.hp-mini-flow { display:flex; align-items:center; gap:12px; justify-content:space-between; border:1px solid var(--hp-line); border-radius:12px; padding:20px 18px; margin-top:25px; font-size:11px; color:#5c6c51; }.hp-mini-flow .icon { width:15px; height:15px; }
.hp-reverse { grid-template-columns:1.12fr 1fr; }.hp-reverse .hp-feature-copy { order:2; }
.hp-context-note { display:flex; gap:13px; align-items:start; padding:20px; margin-top:25px; background:#e9eedf; border-radius:12px; color:#627258; }.hp-context-note .icon { width:21px; flex-shrink:0; margin-top:4px; }.hp-context-note p { font-size:11px; margin:0; }
.hp-financial { background:#14271e; color:#f1f5e8; }.hp-financial .eyebrow { color:#ffba91; }.hp-financial .hp-heading > p { color:#b6c5af; }
.hp-finance-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:45px; align-items:center; }.hp-financial .hp-screen-frame { border-color:#5d7253; }.hp-financial .hp-frame-top { background:#304430; color:#d0ddc6; }
.hp-financial .hp-checks li { color:#d2dfc7; }.hp-financial .hp-checks .icon { color:#ffc294; }.hp-financial figcaption { color:#a5b79b; }
.hp-finance-note { display:flex; align-items:start; gap:13px; border-top:1px solid #63795266; padding-top:24px; margin-top:27px; color:#b8caa7; }.hp-finance-note .icon { flex-shrink:0; width:22px; margin-top:4px; }.hp-finance-note p { margin:0; font-size:12px; }
.hp-gallery { border:1px solid var(--hp-line); border-radius:15px; overflow:hidden; background:#eef2e8; }
.hp-gallery-tabs { display:flex; gap:6px; padding:16px; border-bottom:1px solid var(--hp-line); flex-wrap:wrap; }
.hp-gallery-tabs button { font:inherit; font-size:12px; color:#50634a; padding:11px 16px; border:1px solid transparent; border-radius:8px; background:transparent; cursor:pointer; }
.hp-gallery-tabs button[aria-selected="true"] { background:#1c3426; border-color:#1c3426; color:#f4f4e7; }.hp-gallery-tabs button:hover { border-color:#92a182; }
.hp-gallery-description { display:flex; justify-content:space-between; gap:25px; padding:24px 28px; align-items:center; }.hp-gallery-description h3 { margin:0 0 4px; font-size:19px; }.hp-gallery-description p { font-size:12px; color:#68785e; margin:0; }.hp-gallery-description > span { font:8px/1.5 'Courier New',monospace; letter-spacing:.1em; border:1px solid #cad4bd; padding:8px 11px; border-radius:25px; white-space:nowrap; }
.hp-gallery-panel > .hp-enlarge { margin:0 18px 18px; border-radius:7px; overflow:hidden; border:1px solid #dae0d1; background:white; }
.hp-gallery-panel > .hp-enlarge > img { aspect-ratio:2.08/1; object-fit:contain; }.hp-gallery-note { font-size:10px; color:#74816c; margin:18px 0 0; text-align:center; }
.hp-dashboard-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:17px; }
.hp-dashboard-card { border-top:2px solid #b5c1a5; padding:25px 8px 0; }.hp-dashboard-card > .icon { color:#987047; width:28px; height:28px; }.hp-dashboard-card .hp-label { margin:19px 0 12px; }.hp-dashboard-card h3 { font-size:18px; line-height:1.45; margin:0 0 12px; }.hp-dashboard-card > p:last-child { font-size:12px; color:var(--hp-muted); margin:0; }
.hp-knowledge-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.hp-knowledge-grid > div > p:not(.eyebrow) { color:var(--hp-muted); font-size:15px; max-width:430px; }
.hp-start-steps { list-style:none; padding:0; margin:0; }.hp-start-steps li { display:flex; gap:25px; padding:21px 0; border-bottom:1px solid var(--hp-line); }.hp-start-steps li:first-child { padding-top:0; }.hp-start-steps > li > span { flex-shrink:0; background:#f8e8d6; color:#94532f; width:41px; height:41px; display:grid; place-items:center; border-radius:50%; font:12px 'Courier New',monospace; }.hp-start-steps h3 { font-size:20px; margin:2px 0 5px; }.hp-start-steps p { font-size:13px; color:var(--hp-muted); margin:0; }
.hp-faq-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:80px; }.hp-faq-grid .faq-item { border-color:#d3deca; }
.hp-cta { background:#f6be97; padding-block:78px; color:#30251a; }.hp-cta-grid { display:flex; align-items:center; justify-content:space-between; gap:55px; }.hp-cta-grid > div:first-child { max-width:680px; }.hp-cta h2 { margin-bottom:23px; }.hp-cta p:not(.eyebrow) { color:#665341; font-size:15px; max-width:610px; margin-bottom:0; }.hp-cta .eyebrow { color:#705135; }.hp-cta-actions { display:flex; flex-direction:column; align-items:start; gap:20px; flex-shrink:0; }.hp-cta-actions .text-link { font-size:12px; }
.hp-image-dialog { padding:0; border:1px solid #607251; border-radius:13px; width:min(1500px,96vw); max-height:94vh; background:#13251a; color:#f0f4e5; }
.hp-image-dialog::backdrop { background:#030906df; backdrop-filter:blur(6px); }.hp-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 22px; }.hp-dialog-head p { font-size:12px; margin:0; }.hp-dialog-head button { display:grid; place-items:center; flex-shrink:0; width:38px; height:38px; border:1px solid #7b8b6b; color:inherit; background:transparent; border-radius:50%; cursor:pointer; }.hp-image-dialog > img { display:block; max-width:100%; max-height:80vh; object-fit:contain; margin:auto; }
/* Home: two products, without replacing the institutional message. */
.hp-products { padding-block:92px; background:#18251d; color:#f0f3e7; }
.hp-products .eyebrow { color:#c6e39a; }.hp-products-heading { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:40px; }.hp-products-heading h2 { margin:0; }.hp-products-heading > p { max-width:360px; color:#b4c1a8; font-size:15px; line-height:1.8; margin:0; }
.hp-products-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.hp-product-card { background:#243227; border:1px solid #4b5e3d; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.hp-product-top { padding:27px 29px 24px; }.hp-product-kicker { display:flex; align-items:center; gap:9px; font:9px/1.5 'Courier New',monospace; letter-spacing:.08em; color:#f0ce82; }.hp-product-card-personal .hp-product-kicker { color:#ffc397; }
.hp-product-top h3 { font-size:31px; font-weight:400; letter-spacing:-.035em; margin:18px 0 8px; }.hp-product-tagline { font-size:18px; margin:0 0 15px; color:#f3d798; }.hp-product-card-personal .hp-product-tagline { color:#ffc397; }.hp-product-top > p:last-child { font-size:13px; color:#bacaad; line-height:1.8; margin:0; max-width:470px; }
.hp-product-visual { padding:0 24px; margin-top:auto; }.hp-product-visual img { display:block; width:100%; height:auto; aspect-ratio:2.12/1; object-fit:cover; object-position:top; border:1px solid #657153; border-radius:8px; background:white; }
.hp-product-bottom { display:flex; align-items:center; justify-content:space-between; padding:22px 29px; font-size:12px; color:#f0d394; }.hp-product-card-personal .hp-product-bottom { color:#ffc397; }.hp-product-bottom > span { display:grid; place-items:center; width:31px; height:31px; border:1px solid #647450; border-radius:50%; }.hp-product-bottom .icon { width:17px; }.hp-product-card:hover { border-color:#c2d593; }
.hp-products-grid:has(> :only-child) { grid-template-columns:1fr; max-width:720px; }
@media(max-width:1250px) { .hp-hero-grid { gap:30px; }.hp-hero h1 { font-size:58px; }.hp-feature-grid { gap:35px; }.hp-section-nav > div { gap:24px; } }
@media(max-width:1000px) { .hp-hero-grid { padding-block:75px; }.hp-hero h1 { font-size:49px; }.hp-lead { font-size:15px; }.hp-float { padding:12px; }.hp-float-top { right:0; }.hp-heading { gap:30px; }.hp-heading > p { max-width:310px; }.hp-finance-grid { grid-template-columns:1.25fr 1fr; gap:30px; }.hp-dashboard-grid { grid-template-columns:repeat(3,1fr); gap:30px; }.hp-knowledge-grid { gap:50px; }.hp-faq-grid { gap:45px; }.hp-cta-grid { gap:35px; }.hp-section, .hp-products { padding-block:75px; }.hp-products-heading > p { max-width:300px; }.hp-product-top h3 { font-size:28px; } }
@media(max-width:760px) {
 .hp-hero-grid { grid-template-columns:1fr; padding-block:60px 45px; gap:65px; }.hp-hero h1 { font-size:clamp(45px,10vw,68px); }.hp-lead { max-width:600px; font-size:16px; }.hp-hero-visual { max-width:600px; width:100%; margin:auto; }.hp-hero-frame { transform:rotate(-1deg); }.hp-hero-foot { font-size:8px; margin-top:20px; }.hp-hero-foot > span:last-child { text-align:right; max-width:150px; }.hp-section-nav > div { gap:10px 21px; padding-block:19px; }.hp-section-nav a { font-size:11px; }
 .hp-section, .hp-products { padding-block:60px; }.hp-heading, .hp-products-heading { flex-direction:column; align-items:start; gap:20px; margin-bottom:30px; }.hp-heading > p, .hp-products-heading > p { max-width:560px; font-size:14px; }.hp-pillars { grid-template-columns:1fr; gap:17px; }.hp-pillar { padding:26px; }.hp-pillar-icon { margin-bottom:17px; }.hp-audience { flex-direction:column; gap:10px; padding:21px; }.hp-audience > span { flex:auto; }
 .hp-feature-grid, .hp-reverse, .hp-finance-grid, .hp-knowledge-grid, .hp-faq-grid { grid-template-columns:1fr; gap:32px; }.hp-reverse .hp-feature-copy { order:0; }.hp-feature-copy > p:not(.eyebrow) { font-size:14px; }.hp-feature-figure { max-width:650px; width:100%; }.hp-checks li { font-size:13px; }.hp-frame-top { padding:12px; font-size:8px; }.hp-frame-top small { font-size:7px; }
 .hp-gallery-tabs { gap:4px; padding:11px; }.hp-gallery-tabs button { padding:10px 12px; font-size:11px; }.hp-gallery-description { padding:19px 17px; }.hp-gallery-description > span { display:none; }.hp-gallery-description p { font-size:11px; }.hp-gallery-panel > .hp-enlarge { margin:0 9px 9px; }.hp-gallery-panel > .hp-enlarge > img { aspect-ratio:auto; }.hp-dashboard-grid { grid-template-columns:repeat(2,1fr); gap:27px 20px; }.hp-dashboard-card:last-child { grid-column:1/-1; max-width:380px; }.hp-dashboard-card h3 { font-size:17px; }
 .hp-cta { padding-block:60px; }.hp-cta-grid { flex-direction:column; align-items:start; gap:28px; }.hp-cta p:not(.eyebrow) { font-size:14px; }.hp-products-grid { grid-template-columns:1fr; }.hp-product-top { padding:24px; }.hp-product-visual { padding-inline:20px; }.hp-product-bottom { padding:20px 24px; }
}
@media(max-width:400px) { .hp-hero h1 { font-size:44px; }.hp-actions { gap:20px; }.hp-float strong { font-size:11px; }.hp-float { font-size:9px; padding:10px 12px; }.hp-frame-bottom { padding:15px; font-size:8px; }.hp-shot-note { font-size:8px; }.hp-mini-flow { gap:6px; padding:16px 12px; font-size:9px; }.hp-enlarge > span { bottom:7px; right:7px; font-size:8px; padding:5px 9px; } }
@media(prefers-reduced-motion:reduce) { .hp-page *, .hp-products * { transition:none!important; animation:none!important; } }

@media(min-width:761px){.hp-float-bottom{bottom:-18px}}
