/* =============================================================================
   Ported Claude Design pages — global utilities, scoped to .igi-port so they
   can't affect the shared header/footer or any native-block sections.
   The page markup itself is inline-styled (exact from the export); this file
   only carries the reset, the hover/focus utility classes (.scp*), and the
   scroll-reveal animation those pages depend on.
   ============================================================================= */

.igi-port { width: 100%; }
.igi-port *, .igi-port *::before, .igi-port *::after { margin: 0; padding: 0; box-sizing: border-box; }
.igi-port a { color: inherit; text-decoration: none; }
.igi-port img { display: block; max-width: 100%; }
.igi-port button { font: inherit; cursor: pointer; }
.igi-port ::selection { background: rgb(201, 188, 168); color: rgb(36, 28, 23); }

/* Hover / focus utility classes — accents removed, mapped to the neutral ink scale. */
.igi-port .scp0:hover { background: rgb(228, 216, 198); }
.igi-port .scp1:hover { border-color: rgb(237, 230, 218); }
.igi-port .scp2:hover { color: rgb(99, 90, 80); }
.igi-port .scp3:hover { color: rgb(36, 28, 23); }
.igi-port .scp4:hover { color: rgb(255, 255, 255); }
.igi-port .scp5:hover { background: rgba(36, 28, 23, 0.06); }
.igi-port .scp6:hover { background: rgba(36, 28, 23, 0.06); }
.igi-port .scp7:hover { background: rgba(36, 28, 23, 0.06); }
.igi-port .scp8:focus { outline: rgb(36, 28, 23) solid 2px; outline-offset: 0px; border-color: rgb(36, 28, 23); }
.igi-port .scp9:hover { background: rgb(58, 47, 40); }
.igi-port .scpa:hover { border-color: rgb(36, 28, 23); }
.igi-port .scpb:hover { border-color: rgb(36, 28, 23); }
.igi-port .scpc:hover { border-color: rgb(36, 28, 23); }
.igi-port .scpd:hover { background: rgb(58, 47, 40); }
.igi-port .scpe:hover { background: rgb(58, 47, 40); }
.igi-port .scpf:hover { border-color: rgb(36, 28, 23); }
.igi-port .scpg:hover { color: rgb(36, 28, 23); }
.igi-port .scph:hover { color: rgb(36, 28, 23); }

/* Scroll-reveal (the export's [data-rev] entries) */
@media (prefers-reduced-motion: no-preference) {
	@keyframes igiRise {
		0% { opacity: 0; transform: translateY(24px); }
		100% { opacity: 1; transform: none; }
	}
	@supports (animation-timeline: view()) {
		.igi-port [data-rev] {
			animation-name: igiRise;
			animation-fill-mode: both;
			animation-timeline: view();
			animation-range: entry 8% entry 80%;
		}
	}
}

/* CookieYes consent banner — IGI brand accents (overrides plugin default blue) */
.cky-notice-des a.cky-policy,
.cky-notice-des button.cky-policy,
button.cky-show-desc-btn:not(:hover):not(:active),
.cky-preference-content-wrapper a { color: #241c17 !important; }
.cky-btn:focus-visible,
.cky-consent-container a:focus-visible,
.cky-footer-wrapper a:focus-visible { outline-color: #b7a98f !important; }

/* ============ Organizational chart — Team page ============ */
.igi-org{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,56px);}
.igi-org__intro{text-align:center;max-width:46em;margin:0 auto clamp(42px,5vw,64px);}
.igi-org__eyebrow{font-family:"Spline Sans Mono",monospace;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:rgb(140,125,106);margin-bottom:16px;}
.igi-org__title{font-family:Newsreader,serif;font-weight:400;font-size:clamp(30px,4.4vw,50px);line-height:1.06;letter-spacing:-.01em;color:rgb(36,28,23);margin-bottom:14px;}
.igi-org__lead{font-size:clamp(15px,1.5vw,17px);line-height:1.6;color:rgb(74,64,54);}
.igi-org__label{text-align:center;font-family:"Spline Sans Mono",monospace;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgb(140,125,106);margin:0 0 26px;}
.igi-org__row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,2vw,24px);}
.igi-org__row--board{max-width:620px;margin:0 auto;}
.igi-org__grid{max-width:1000px;margin:0 auto;}
.igi-org__card{flex:1 1 220px;max-width:270px;background:#fff;border:1px solid rgb(228,216,198);border-radius:16px;padding:clamp(22px,2.4vw,30px) clamp(16px,2vw,22px);box-shadow:0 1px 2px rgba(36,28,23,.05);display:flex;flex-direction:column;align-items:center;text-align:center;transition:box-shadow .22s ease,transform .22s ease;}
.igi-org__card:hover{box-shadow:0 18px 32px -20px rgba(36,28,23,.38);transform:translateY(-3px);}
.igi-org__avatar{width:94px;height:94px;border-radius:999px;overflow:hidden;margin-bottom:16px;border:3px solid #fff;box-shadow:0 0 0 1px rgb(228,216,198);background:rgb(237,230,218);flex:0 0 auto;}
.igi-org__avatar img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;}
.igi-org__avatar--mono{display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,rgb(237,230,218),rgb(224,212,193));}
.igi-org__avatar--mono>span{font-family:Newsreader,serif;font-weight:500;font-size:30px;color:rgb(99,90,80);letter-spacing:.03em;}
.igi-org__name{font-family:var(--wp--preset--font-family--body,"Hanken Grotesk",system-ui,sans-serif);font-weight:700;font-size:18px;line-height:1.25;color:rgb(36,28,23);margin-bottom:6px;}
.igi-org__role{font-family:var(--wp--preset--font-family--body,"Hanken Grotesk",system-ui,sans-serif);font-size:13.75px;line-height:1.45;color:rgb(99,90,80);}
.igi-org__connector{display:flex;justify-content:center;align-items:center;margin:clamp(14px,2vw,22px) 0 clamp(26px,3vw,34px);}
.igi-org__connector>span{width:2px;height:clamp(32px,4.5vw,50px);background:rgb(201,188,168);position:relative;}
.igi-org__connector>span::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid rgb(201,188,168);}
@media (max-width:520px){.igi-org__card{flex:1 1 100%;max-width:340px;}}

/* Team page (page-id-818): drop the large empty gap between the hero and the
   org chart. The page template wraps the content in .igi-section (top padding
   clamp(4.5rem,9vw,9rem)), which stacks on top of the org band's own
   padding-top — remove the template padding and keep one modest gap. */
.page-id-818 .igi-section{padding-top:0;}
.page-id-818 .igi-orgband{padding-top:clamp(24px,3vw,40px) !important;}

/* Vacancies page (page-id-848): the content band carries its own padding, so
   drop the template section's top padding to avoid a doubled gap under the hero. */
.page-id-848 .igi-section{padding-top:0;}

/* Strategic Roadmap page (page-id-850): same — the content band owns its padding. */
.page-id-850 .igi-section{padding-top:0;}

/* These three pages (Team 818, Vacancies 848, Strategic Roadmap 850) route through
   the generic page template, which caps post-content at the 760px content size and
   leaves a wide side gutter. Lift that cap so the content bands span the full width
   like the pattern pages (home, donate, contact, …). */
.page-id-818 .entry-content,
.page-id-848 .entry-content,
.page-id-850 .entry-content,
.page-id-853 .entry-content{max-width:none !important;}
/* Terms & Conditions page (page-id-853): content band owns its padding. */
.page-id-853 .igi-section{padding-top:0;}
/* widen the Vacancies inner column to match the other pages */
.page-id-848 .igi-vac section{max-width:1280px !important;}

/* Org-chart cards are clickable → open a profile modal */
.igi-org__card{cursor:pointer;}
.igi-org__card:focus-visible{outline:2px solid rgb(36,28,23);outline-offset:3px;}
.igi-org__more{margin-top:13px;font-family:"Spline Sans Mono",monospace;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgb(140,125,106);display:inline-flex;align-items:center;gap:5px;transition:color .15s ease;}
.igi-org__more::after{content:"\2192";}
.igi-org__card:hover .igi-org__more,.igi-org__card:focus-visible .igi-org__more{color:rgb(36,28,23);}
.igi-org__bio{display:none;}

.igi-tmodal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.igi-tmodal[hidden]{display:none;}
.igi-tmodal__backdrop{position:absolute;inset:0;background:rgba(23,18,14,.62);}
.igi-tmodal__panel{position:relative;z-index:1;width:100%;max-width:560px;max-height:88vh;overflow:auto;background:rgb(250,248,244);border:1px solid rgb(228,216,198);border-radius:18px;padding:clamp(26px,4vw,42px);box-shadow:0 30px 60px -24px rgba(23,18,14,.6);text-align:left;}
.igi-tmodal__close{position:absolute;top:14px;right:16px;width:36px;height:36px;border:0;background:transparent;font-size:26px;line-height:1;color:rgb(99,90,80);cursor:pointer;border-radius:999px;transition:background .15s,color .15s;}
.igi-tmodal__close:hover{background:rgba(36,28,23,.07);color:rgb(36,28,23);}
.igi-tmodal__head{display:flex;align-items:center;gap:18px;margin-bottom:20px;}
.igi-tmodal__avatar .igi-org__avatar{margin:0;width:84px;height:84px;}
.igi-tmodal__name{font-family:Newsreader,serif;font-weight:500;font-size:clamp(22px,3vw,28px);line-height:1.1;color:rgb(36,28,23);}
.igi-tmodal__role{font-family:"Spline Sans Mono",monospace;font-size:12.5px;letter-spacing:.04em;color:rgb(99,90,80);margin-top:7px;}
.igi-tmodal__bio{font-size:15.5px;line-height:1.68;color:rgb(74,64,54);}
@media(max-width:520px){.igi-tmodal__head{flex-direction:column;text-align:center;gap:14px;}}
