/* Editorial cards and dashboard refinement shared across GHDI surfaces. */
.ghdi-story-card { min-width:0; overflow:hidden; border:1px solid #dfe6f0; border-radius:22px; background:#fff; box-shadow:0 12px 32px rgba(1,31,91,.07); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.ghdi-story-card:hover { transform:translateY(-5px); border-color:#aebed8; box-shadow:0 20px 42px rgba(1,31,91,.15); }
.ghdi-story-card__link { display:flex; height:100%; flex-direction:column; color:inherit; text-decoration:none; }
.ghdi-story-card__media { position:relative; height:220px; overflow:hidden; background:#e7edf4; }
.ghdi-story-card__media img,.ghdi-event-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.ghdi-story-card:hover .ghdi-story-card__media img,.ghdi-event-card:hover .ghdi-event-card__image img { transform:scale(1.045); }
.ghdi-story-card__media--news { display:flex; align-items:flex-end; padding:22px; background:linear-gradient(140deg,#011f5b,#123c7b 62%,#83a6ca); }
.ghdi-story-card__media--story { display:flex; align-items:flex-end; padding:22px; background:linear-gradient(140deg,#742349,#c64671 54%,#f0c0a3); }
.ghdi-story-card__media--news span,.ghdi-story-card__media--story span { color:#ffffffca; font-size:11px; font-weight:750; letter-spacing:.17em; }
.ghdi-story-card__body { display:flex; flex:1; flex-direction:column; padding:22px 23px 24px; }
.ghdi-story-card__meta { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#738197; font-size:11px; font-weight:650; letter-spacing:.025em; }
.ghdi-story-card--news .ghdi-story-card__meta>span { padding:6px 10px; border-radius:99px; background:#e9eff9; color:#011f5b; }
.ghdi-story-card--story .ghdi-story-card__meta>span { padding:6px 10px; border-radius:99px; background:#fff0f5; color:#aa315e; }
.ghdi-story-card--story .ghdi-story-card__meta>span { background:#fff0f5; color:#aa315e; }
.ghdi-story-card__body h3 { display:-webkit-box; min-height:3.1em; margin:17px 0 9px; overflow:hidden; color:#011f5b; font-family:Manrope,"Segoe UI",sans-serif; font-size:19px; font-weight:700; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ghdi-story-card__body p { display:-webkit-box; min-height:4.6em; margin:0; overflow:hidden; color:#657389; font-size:13px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.ghdi-story-card__more { display:flex; align-items:center; justify-content:space-between; margin-top:19px; color:#011f5b; font-size:13px; font-weight:750; }
.ghdi-story-card--story .ghdi-story-card__more { color:#b12d5e; }
.ghdi-media-card__more svg { width:16px; height:16px; flex:0 0 16px; }
.ghdi-media-card { border-color:#dfe6f0; border-radius:20px; box-shadow:0 10px 28px rgba(1,31,91,.075); }
.ghdi-media-card:hover { box-shadow:0 20px 42px rgba(1,31,91,.16); }
.ghdi-media-card__media--fallback { background:linear-gradient(140deg,#011f5b,#123c7b 62%,#8daaca); }
.ghdi-media-card__title { color:#011f5b; }
.ghdi-media-card__title a:hover,.ghdi-media-card__more,.ghdi-media-card__more:hover { color:#011f5b; }
.ghdi-rail__track > .ghdi-media-card { flex:0 0 clamp(270px, 31vw, 360px); min-height:100%; border:1px solid #dfe6f0; border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(1,31,91,.08); transition:transform .22s ease,box-shadow .22s ease; }
.ghdi-rail__track > .ghdi-media-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(1,31,91,.16); }
.ghdi-rail__track > .ghdi-media-card .ghdi-media-card__media { aspect-ratio:16 / 10; background:#e9eff5; }
.ghdi-rail__track > .ghdi-media-card .ghdi-media-card__body { gap:0; padding:20px 21px 22px; }
.ghdi-news-card__meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; color:#748197; font-size:11px; font-weight:650; }
.ghdi-news-card__meta span { padding:5px 9px; border-radius:99px; background:#e9eff9; color:#011f5b; font-size:10px; font-weight:750; letter-spacing:.04em; }
.ghdi-rail__track > .ghdi-media-card .ghdi-media-card__title { display:-webkit-box; min-height:2.7em; margin:0; overflow:hidden; font-size:17px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ghdi-rail__track > .ghdi-media-card .ghdi-media-card__excerpt { display:-webkit-box; min-height:4.7em; margin:10px 0 0; overflow:hidden; font-size:13px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.ghdi-rail__track > .ghdi-media-card .ghdi-media-card__more { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:17px; color:#011f5b; font-size:12px; font-weight:750; }
.ghdi-rail__track > .ghdi-media-card .ghdi-media-card__more svg { transition:transform .2s ease; }
.ghdi-rail__track > .ghdi-media-card:hover .ghdi-media-card__more svg { transform:translateX(3px); }
.ghdi-theme-card { display:flex; min-width:0; min-height:230px; flex-direction:column; padding:24px; border:1px solid #e3eaf2; border-radius:20px; background:linear-gradient(155deg,#fff 0%,#fbfdff 100%); box-shadow:0 8px 24px rgba(16,43,85,.055); color:inherit; text-decoration:none; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ghdi-theme-card:hover { transform:translateY(-4px); border-color:#bfd2e5; box-shadow:0 16px 34px rgba(16,43,85,.11); }
.ghdi-theme-card__mark { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:#eaf4fb; color:#0877b9; font-family:Manrope,"Segoe UI",sans-serif; font-size:13px; font-weight:800; }
.ghdi-theme-card__image { width:46px; height:46px; border-radius:14px; object-fit:cover; }
.ghdi-theme-card h3 { margin:20px 0 0; color:#102b55; font-family:Manrope,"Segoe UI",sans-serif; font-size:17px; font-weight:750; line-height:1.35; }
.ghdi-theme-card p { display:-webkit-box; min-height:4.8em; margin:9px 0 0; overflow:hidden; color:#657389; font-size:13px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.ghdi-theme-card__more { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:16px; color:#0877b9; font-size:12px; font-weight:750; }
html.js [data-scroll-reveal], html.js .reveal, html.js .stat-count { opacity:0; transform:translate3d(0,24px,0); filter:blur(2px); transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1),filter .72s cubic-bezier(.22,1,.36,1); transition-delay:var(--scroll-reveal-delay,0ms); }
html.js [data-scroll-reveal="fade-left"] { transform:translate3d(-24px,0,0); }
html.js [data-scroll-reveal="fade-right"] { transform:translate3d(24px,0,0); }
html.js [data-scroll-reveal="zoom"] { transform:scale(.96); }
html.js [data-scroll-reveal].is-revealed, html.js .reveal.is-inview, html.js .stat-count.is-inview { opacity:1; transform:none; filter:blur(0); }
@media(prefers-reduced-motion:reduce) { html.js [data-scroll-reveal],html.js .reveal,html.js .stat-count { opacity:1!important; transform:none!important; filter:none!important; transition:none!important; } }
@media(max-width:640px) { .ghdi-rail__track > .ghdi-media-card { flex-basis:min(84vw, 360px); border-radius:17px; } .ghdi-rail__track > .ghdi-media-card .ghdi-media-card__body { padding:17px 18px 19px; } }
.ghdi-event-card { overflow:hidden; border:1px solid #e4eaf1; border-radius:22px; background:#fff; box-shadow:0 12px 30px #102b550a; transition:transform .22s ease,box-shadow .22s ease; }
.ghdi-event-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px #102b5518; }
.ghdi-event-card__image { height:178px; overflow:hidden; background:#e6edf2; }
.ghdi-event-card__body { display:flex; gap:17px; padding:22px; }
.ghdi-event-card__date { display:flex; width:57px; height:78px; flex:0 0 57px; flex-direction:column; align-items:center; justify-content:center; border:1px solid #f2dcae; border-radius:15px; background:linear-gradient(160deg,#fffaf0,#fff3d6); color:#a25c05; }
.ghdi-event-card__date span { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ghdi-event-card__date strong { margin-top:1px; color:#18365d; font-family:Manrope,"Segoe UI",sans-serif; font-size:25px; line-height:1.15; }
.ghdi-event-card__date small { font-size:10px; color:#748095; }
.ghdi-event-card__copy { min-width:0; }
.ghdi-event-card__eyebrow { color:#b16a11; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.ghdi-event-card__copy h3 { margin:5px 0 11px; color:#102b55; font-family:Manrope,"Segoe UI",sans-serif; font-size:17px; font-weight:700; line-height:1.4; }
.ghdi-event-card__copy p { margin:4px 0 0; color:#69778b; font-size:12px; line-height:1.6; }
.page-head { position:relative; padding:24px 26px; border:1px solid #e1e9f2; border-radius:18px; background:linear-gradient(115deg,#fff 0%,#f8fbff 68%,#f4f8fd 100%); box-shadow:0 8px 25px rgba(16,43,85,.045); }
.page-head h1 { color:#102b55; font-size:clamp(23px,3vw,30px); font-weight:760; letter-spacing:-.035em; }
.page-head .sub { max-width:700px; color:#68788e; }
.kpi { position:relative; overflow:hidden; border:1px solid #e4eaf2!important; border-radius:16px!important; background:linear-gradient(145deg,#fff,#fbfcff)!important; box-shadow:0 7px 22px rgba(16,43,85,.05)!important; transition:transform .2s ease,box-shadow .2s ease; }
.kpi:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(16,43,85,.09)!important; }
.kpi-value { color:#102b55!important; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.card { border-color:#e2e9f1!important; border-radius:16px!important; box-shadow:0 8px 24px rgba(16,43,85,.045)!important; }
.card-head { min-height:54px; border-bottom-color:#edf1f6!important; }
.card-head h3 { color:#19365e; font-weight:700; letter-spacing:-.015em; }
.table-wrap { border-radius:12px; }
.table thead th { background:#f6f8fb; color:#65748a; font-size:10px; font-weight:750; letter-spacing:.075em; text-transform:uppercase; }
.feed-item { transition:background .16s ease; }
.feed-item:hover { background:#f7faff; }
.ghdi-home-intro { padding:clamp(76px,9vw,136px) 24px; background:#f8f9fc; }
.ghdi-home-intro__inner { display:grid; width:min(100%,1440px); grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:start; gap:clamp(48px,9vw,150px); margin:0 auto; }
.ghdi-section-label { display:inline-flex; align-items:center; gap:12px; color:#011f5b; font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ghdi-section-label:before { width:30px; height:3px; border-radius:3px; background:#011f5b; content:""; }
.ghdi-home-intro__headline h2 { margin:24px 0 0; color:#071b3d; font-family:var(--ghdi-font-accent,"Playfair Display",Georgia,serif); font-size:clamp(3.5rem,6vw,6.25rem); font-weight:600; letter-spacing:-.055em; line-height:.94; }
.ghdi-home-intro__headline h2 em { color:#fd9a01; font-weight:500; }
.ghdi-home-intro__story { padding-top:30px; }
.ghdi-home-intro__lead { margin:0; color:#304766; font-size:clamp(1.18rem,1.6vw,1.55rem); line-height:1.75; }
.ghdi-home-intro__mission { margin:26px 0 0; color:#5d6d83; font-size:1.05rem; line-height:1.8; }
.ghdi-home-identity { display:flex; align-items:flex-start; gap:20px; margin-top:32px; padding:24px; border:1px solid #dce5f0; border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(17,43,79,.06); }
.ghdi-home-identity__mark { display:grid; width:54px; height:54px; flex:0 0 54px; place-items:center; border-radius:15px; background:#011f5b; color:#fff; font-size:15px; font-weight:850; }
.ghdi-home-identity__mark i { color:#fd9a01; font-size:22px; }
.ghdi-home-identity__eyebrow { display:block; margin:1px 0 7px; color:#70809a; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ghdi-home-identity strong { display:block; color:#102544; font-size:1rem; line-height:1.6; }
.ghdi-home-intro__link { display:inline-flex; align-items:center; gap:14px; margin-top:24px; color:#102544; font-size:.9rem; font-weight:800; text-decoration:none; }
.ghdi-home-intro__link span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:#e9eff9; color:#011f5b; font-size:18px; transition:transform .2s ease; }
.ghdi-home-intro__link:hover { color:#011f5b; }
.ghdi-home-intro__link:hover span { transform:translateX(4px); }
.ghdi-theme-grid { display:grid; grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(235px,1fr)); gap:22px; }
.ghdi-theme-tile { position:relative; display:flex; min-width:0; min-height:240px; flex-direction:column; justify-content:flex-end; overflow:hidden; isolation:isolate; border:1px solid #ffffffa8; border-radius:25px; background:#19365c; box-shadow:0 14px 35px rgba(19,43,75,.12); color:#fff; text-decoration:none; }
.ghdi-theme-tile:nth-child(1) { grid-column:1; grid-row:1 / span 2; min-height:500px; }
.ghdi-theme-tile:nth-child(2) { grid-column:2; grid-row:1; }
.ghdi-theme-tile:nth-child(3) { grid-column:3; grid-row:1; }
.ghdi-theme-tile:nth-child(4) { grid-column:2 / span 2; grid-row:2; }
.ghdi-theme-tile:nth-child(n+5) { grid-column:auto; grid-row:auto; }
.ghdi-theme-tile__image,.ghdi-theme-tile__fallback { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.ghdi-theme-tile__fallback { display:grid; place-items:center; background:radial-gradient(circle at 75% 24%,#4e77a5 0,transparent 35%),linear-gradient(145deg,#15345d,#061a39); color:#ffffff39; font-family:var(--ghdi-font-accent,"Playfair Display",Georgia,serif); font-size:clamp(5rem,13vw,10rem); font-weight:700; }
.ghdi-theme-tile__shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(4,17,37,.02) 24%,rgba(4,17,37,.25) 48%,rgba(4,17,37,.92) 100%); }
.ghdi-theme-tile:hover { color:#fff; text-decoration:none; }
.ghdi-theme-tile:hover .ghdi-theme-tile__image { transform:scale(1.045); }
.ghdi-theme-tile__copy { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(20px,2.2vw,34px); }
.ghdi-theme-tile__eyebrow { margin-bottom:10px; color:#ffffffd9; font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.ghdi-theme-tile__copy strong { max-width:22ch; color:#fff; font-family:var(--ghdi-font-accent,"Playfair Display",Georgia,serif); font-size:clamp(1.35rem,2.1vw,2rem); font-weight:700; line-height:1.08; }
.ghdi-theme-tile__summary { display:-webkit-box; max-width:58ch; margin-top:10px; overflow:hidden; color:#ffffffd9; font-size:.86rem; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ghdi-theme-tile__more { display:flex; align-items:center; gap:9px; margin-top:14px; color:#fff; font-size:.77rem; font-weight:800; }
.ghdi-theme-tile__more span { color:#aebcff; font-size:1.15rem; transition:transform .2s ease; }
.ghdi-theme-tile:hover .ghdi-theme-tile__more span { transform:translateX(4px); }
.ghdi-theme-tile--fallback { gap:12px; justify-content:center; padding:30px; background:linear-gradient(140deg,#fff,#f1f5fb); color:#102b55; }
.ghdi-theme-tile--fallback strong { color:#102b55; font-family:var(--ghdi-font-display,Manrope,sans-serif); font-size:1.2rem; }
.ghdi-theme-tile--fallback .ghdi-theme-tile__summary { display:block; margin-top:0; color:#61718a; }
.ghdi-about-story { padding:clamp(64px,8vw,112px) 24px; background:#f8fafd; }
.ghdi-about-story__inner { display:grid; width:min(100%,1320px); grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr); gap:clamp(40px,8vw,120px); margin:0 auto; }
.ghdi-about-story__heading { position:sticky; top:110px; align-self:start; }
.ghdi-about-story__heading h2 { margin:24px 0 0; color:#071b3d; font-family:var(--ghdi-font-accent,"Playfair Display",Georgia,serif); font-size:clamp(3rem,5.5vw,5.4rem); font-weight:600; letter-spacing:-.055em; line-height:.98; }
.ghdi-about-story__heading h2 em { color:#011f5b; font-weight:500; }
.ghdi-about-story__copy { min-width:0; }
.ghdi-about-story__summary { margin:0; color:#304766; font-size:clamp(1.15rem,1.55vw,1.45rem); line-height:1.8; }
.ghdi-about-story__content { margin-top:22px; color:#52627a; font-size:1rem; line-height:1.9; }
.ghdi-about-story__content p:last-child { margin-bottom:0; }
.ghdi-about-identity { display:flex; gap:18px; align-items:flex-start; margin-top:30px; padding:22px; border:1px solid #dbe4f0; border-radius:20px; background:#fff; box-shadow:0 16px 38px rgba(1,31,91,.07); }
.ghdi-about-identity__icon { display:grid; width:54px; height:54px; flex:0 0 54px; place-items:center; border-radius:15px; background:#011f5b; color:#fff; font-size:1.35rem; }
.ghdi-about-identity__label { display:block; margin:0 0 6px; color:#71809a; font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ghdi-about-identity strong { color:#071b3d; line-height:1.65; }
.ghdi-about-identity small { display:block; margin-top:6px; color:#71809a; line-height:1.6; }
.ghdi-about-sections { padding:0 24px clamp(64px,8vw,110px); background:#f8fafd; }
.ghdi-about-sections__grid { display:grid; width:min(100%,1320px); grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:auto; }
.ghdi-about-section { overflow:hidden; border:1px solid #dfe6f0; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(1,31,91,.06); }
.ghdi-about-section__image { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.ghdi-about-section__body { padding:clamp(22px,3vw,34px); }
.ghdi-about-section__body h3 { margin:0 0 12px; color:#011f5b; font-family:var(--ghdi-font-display,Manrope,sans-serif); font-size:1.25rem; font-weight:800; }
.ghdi-about-section__body div { color:#52627a; line-height:1.8; }
.ghdi-about-section__body p:last-child { margin-bottom:0; }
@media(max-width:760px) { .ghdi-about-story__inner { grid-template-columns:1fr; gap:28px; } .ghdi-about-story__heading { position:static; } .ghdi-about-story__heading h2 { margin-top:18px; font-size:clamp(3rem,13vw,4.5rem); } .ghdi-about-sections__grid { grid-template-columns:1fr; } }
@media(max-width:900px) { .ghdi-home-intro__inner { grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:40px; } .ghdi-home-intro__headline h2 { font-size:clamp(3.2rem,7.2vw,5rem); } .ghdi-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; } .ghdi-theme-tile:nth-child(1) { grid-column:1 / -1; grid-row:auto; min-height:390px; } .ghdi-theme-tile:nth-child(2),.ghdi-theme-tile:nth-child(3) { grid-column:auto; grid-row:auto; min-height:280px; } .ghdi-theme-tile:nth-child(4) { grid-column:1 / -1; grid-row:auto; min-height:280px; } }
@media(max-width:640px) { .ghdi-home-intro { padding:70px 20px; } .ghdi-home-intro__inner { grid-template-columns:1fr; gap:15px; } .ghdi-home-intro__headline h2 { margin-top:18px; font-size:clamp(3.25rem,14vw,5rem); } .ghdi-home-intro__story { padding-top:16px; } .ghdi-home-intro__lead { font-size:1.15rem; line-height:1.65; } .ghdi-home-intro__mission { margin-top:18px; font-size:.98rem; } .ghdi-home-identity { gap:14px; margin-top:23px; padding:18px; } .ghdi-theme-grid { grid-template-columns:1fr; gap:15px; } .ghdi-theme-tile,.ghdi-theme-tile:nth-child(1),.ghdi-theme-tile:nth-child(2),.ghdi-theme-tile:nth-child(3),.ghdi-theme-tile:nth-child(4) { grid-column:1; grid-row:auto; min-height:310px; } .ghdi-theme-tile:nth-child(1) { min-height:390px; } .ghdi-theme-tile__copy { padding:23px; } }
@media(max-width:640px) { .ghdi-story-card__media { height:190px; } .ghdi-story-card__body { padding:19px; } .ghdi-event-card__body { gap:13px; padding:17px; } .page-head { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .ghdi-story-card,.ghdi-story-card__media img,.ghdi-event-card,.ghdi-event-card__image img,.kpi { transition:none; } }
@media(prefers-reduced-motion:reduce) { .ghdi-theme-tile,.ghdi-theme-tile__image,.ghdi-home-intro__link span { transition:none; } .ghdi-theme-tile:hover { transform:none; } }
