/* iMass Innovation | responsive visual system */
:root{--navy:#102f52;--navy-2:#173f68;--blue:#1a678e;--teal:#48a6a5;--orange:#f27621;--ink:#142536;--muted:#5d6c79;--line:#e2e9ee;--wash:#f3f7f9;--white:#fff;--shadow:0 22px 60px rgba(16,47,82,.12);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 "DM Sans",Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#d9edf1;color:var(--navy)}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:3000;top:12px;left:12px;transform:translateY(-160%);background:#fff;padding:12px 18px;border-radius:8px;box-shadow:var(--shadow)}.skip-link:focus{transform:none}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,"DM Sans",sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,6.4vw,5.7rem);font-weight:800;margin-bottom:24px}h1 em{font-style:normal;color:var(--blue)}h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;margin-bottom:20px}h3{font-size:1.32rem;margin-bottom:12px}p{color:var(--muted);margin-bottom:18px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:.69rem;line-height:1.4;text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:22px}.eyebrow:before{content:"";width:26px;height:2px;background:var(--orange)}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,47,82,.08)}.nav-shell{width:min(1240px,calc(100% - 48px));min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:178px;height:auto}.site-nav{display:flex;align-items:center;gap:clamp(13px,2vw,25px)}.site-nav>a{font-size:.82rem;font-weight:700;color:#31485b;transition:color .2s}.site-nav>a:hover,.site-nav>a[aria-current=page]{color:var(--blue)}.site-nav .nav-cta{display:inline-flex;align-items:center;gap:12px;background:var(--navy);color:#fff;border-radius:999px;padding:13px 19px;box-shadow:0 7px 18px rgba(16,47,82,.14)}.site-nav .nav-cta:hover{background:var(--blue);color:#fff}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f5f8fa 0%,#fff 55%,#edf4f7 100%);padding:88px 0 90px}.hero:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(26,103,142,.11);border-radius:50%;right:-220px;top:-230px;box-shadow:0 0 0 55px rgba(26,103,142,.035),0 0 0 110px rgba(26,103,142,.025);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr .94fr;gap:68px;align-items:center;position:relative;z-index:1}.hero-copy .lead{max-width:610px;font-size:1.12rem;line-height:1.85}.button-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;border-radius:999px;padding:14px 21px;font-size:.84rem;font-weight:800;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(16,47,82,.16)}.button-primary:hover{background:var(--blue);color:#fff}.button-quiet{background:#fff;border-color:#d8e1e8;color:var(--navy)}.button-quiet:hover{border-color:var(--blue)}.hero-note{display:flex;align-items:center;gap:10px;font-size:.77rem;color:#637686;margin-top:34px}.dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(242,118,33,.12)}.hero-visual{position:relative;padding:0 0 28px 28px}.hero-visual:before{content:"";position:absolute;left:0;bottom:0;width:62%;height:65%;border-radius:22px;background:#c6dfe6}.hero-visual>img{position:relative;width:100%;height:470px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}.image-label{position:absolute;right:-14px;bottom:52px;z-index:2;background:var(--navy);color:#fff;padding:22px 25px;border-radius:14px;box-shadow:var(--shadow)}.label-kicker{display:block;font-size:.63rem;letter-spacing:.17em;color:#8ed0d1;font-weight:800;margin-bottom:9px}.image-label strong{font:700 1.1rem/1.35 Manrope,sans-serif}.intro-band{background:var(--navy);padding:58px 0}.intro-band-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;align-items:start}.intro-band .eyebrow{color:#a3d5d7}.intro-band .eyebrow:before{background:var(--orange)}.intro-band h2{color:#fff;max-width:750px;margin-bottom:14px}.intro-band p:not(.eyebrow){color:#cfdae4;max-width:700px;margin:0}
.section{padding:94px 0}.section-tint{background:var(--wash)}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:end;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:510px;margin-bottom:5px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.feature-card>img{width:100%;height:225px;object-fit:cover}.feature-content{padding:25px 25px 28px}.card-index{display:block;color:var(--blue);font-size:.66rem;font-weight:800;letter-spacing:.13em;margin-bottom:13px}.feature-content p{font-size:.91rem;line-height:1.75;min-height:94px}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-size:.83rem;font-weight:800}.text-link:hover{color:var(--blue)}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split-image{position:relative}.split-image:after{content:"";position:absolute;z-index:-1;width:58%;height:55%;right:-15px;bottom:-15px;background:#d6e9eb;border-radius:18px}.split-image img{width:100%;height:430px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.split-copy>p:not(.eyebrow){max-width:590px}.split-copy .button{margin-top:10px}.closing-panel{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:56px 60px;background:linear-gradient(120deg,#102f52,#17466e);border-radius:22px;color:#fff;position:relative;overflow:hidden}.closing-panel:after{content:"";position:absolute;width:340px;height:340px;right:18%;top:-240px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.035),0 0 0 80px rgba(255,255,255,.025)}.closing-panel>div,.closing-panel>a{position:relative;z-index:1}.closing-panel>div{max-width:700px}.closing-panel h2{color:#fff;margin-bottom:15px}.closing-panel p:not(.eyebrow){color:#d3e0e9;margin:0;max-width:650px}.closing-panel .eyebrow{color:#a3d5d7}.button-light{background:#fff;color:var(--navy);white-space:nowrap}.button-light:hover{background:#eaf4f6}.button-outline-light{border-color:rgba(255,255,255,.38);color:#fff}.button-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.page-hero{padding:65px 0 72px;background:linear-gradient(115deg,#f2f7f9,#fff 72%);border-bottom:1px solid rgba(16,47,82,.05)}.breadcrumb{display:flex;align-items:center;gap:10px;color:#84929d;font-size:.75rem;margin-bottom:36px}.breadcrumb a{color:var(--blue);font-weight:700}.page-hero h1{font-size:clamp(2.7rem,5.8vw,5rem);max-width:900px}.page-lead{font-size:1.12rem;max-width:760px;line-height:1.85;margin:0}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.number-grid article{padding:30px;border:1px solid var(--line);border-radius:15px;background:#fff}.number-grid article>span{display:block;color:var(--orange);font-size:.7rem;font-weight:800;letter-spacing:.14em;margin-bottom:22px}.number-grid h3{font-size:1.22rem}.number-grid p{font-size:.9rem;margin-bottom:0}.research-list{display:grid;gap:18px}.research-row{display:grid;grid-template-columns:310px 1fr;gap:35px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px}.research-image img{width:100%;height:220px;object-fit:cover;border-radius:12px}.research-body p{max-width:700px;margin-bottom:0}.research-body h3{font-size:1.65rem}.contact-layout,.donation-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.contact-copy h2,.donation-copy h2{max-width:550px}.contact-copy .button{margin-top:12px}.contact-card,.bank-card{padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(16,47,82,.055)}.contact-detail{padding:19px 0;border-bottom:1px solid var(--line)}.contact-detail:first-child{padding-top:0}.contact-detail:last-child{border:0;padding-bottom:0}.contact-detail>span{display:block;color:#84929d;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:7px}.contact-detail a,.contact-detail strong{display:block;color:var(--navy);font-size:.98rem;font-weight:800;margin:3px 0}.bank-card h2{font-size:1.5rem;margin-bottom:18px}.bank-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.88rem}.bank-row span{color:var(--muted)}.bank-row strong{text-align:right;overflow-wrap:anywhere;color:var(--navy)}.copy-button{border:0;border-radius:999px;background:var(--navy);color:#fff;padding:12px 18px;margin-top:20px;font-size:.82rem;font-weight:800;cursor:pointer}.copy-button:hover{background:var(--blue)}.copy-status{font-size:.78rem;margin:17px 0 0}.copy-status a{color:var(--blue);font-weight:800}.notice{margin-top:26px;padding:20px 22px;border:1px solid #f2d6bf;border-left:4px solid var(--orange);border-radius:10px;background:#fff9f4;color:#665140;font-size:.86rem}.callout-inline{max-width:820px}.callout-inline h2{margin-bottom:14px}.callout-inline .text-link{margin-top:8px}
.site-footer{background:#0b2037;color:#fff;padding:58px 0 22px}.footer-main{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:60px}.footer-logo img{width:175px;height:auto;background:#fff;padding:8px;border-radius:8px}.footer-intro p{color:#bac9d6;max-width:330px;margin:19px 0}.footer-location{color:#7f9bb0;font-size:.78rem}.site-footer h2{color:#fff;font-size:.9rem;letter-spacing:.02em;margin:8px 0 20px}.footer-links{display:grid;gap:11px}.footer-links a,.footer-bottom{color:#bac9d6;font-size:.82rem}.footer-links a:hover,.footer-bottom a:hover{color:#fff}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:19px;margin-top:42px;font-size:.75rem}.footer-bottom a{color:#d7e3ec}
@media(max-width:980px){.site-nav{gap:13px}.site-nav>a{font-size:.74rem}.brand img{width:155px}.hero-grid{gap:38px}.hero-visual>img{height:410px}.feature-grid{gap:16px}.feature-content{padding:21px}.split-section{gap:45px}.closing-panel{padding:45px}.footer-main{gap:35px}}
@media(max-width:760px){.container,.nav-shell{width:calc(100% - 34px)}.nav-shell{min-height:74px}.brand img{width:148px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:10px;width:45px;height:43px;padding:10px;cursor:pointer;z-index:1201}.menu-toggle span{width:100%;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:1200;background:#fff;padding:100px 28px 35px;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);visibility:hidden;transition:transform .38s cubic-bezier(.22,.8,.25,1),visibility .38s;box-shadow:18px 0 50px rgba(16,47,82,.12)}.site-nav.open{transform:translateX(0);visibility:visible}.menu-toggle{position:relative;z-index:1202}.site-header{z-index:1203}.menu-open{overflow:hidden;touch-action:none}.site-nav>a{width:100%;padding:17px 4px;border-bottom:1px solid var(--line);font-size:1.02rem}.site-nav .nav-cta{margin-top:22px;justify-content:center;border:0;padding:15px}.hero{padding:55px 0 62px}.hero-grid{grid-template-columns:1fr;gap:38px}.hero-visual{padding-left:12px}.hero-visual>img{height:330px}.image-label{right:-3px;bottom:42px}.intro-band{padding:43px 0}.intro-band-grid{grid-template-columns:1fr;gap:6px}.section{padding:68px 0}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.feature-grid,.number-grid{grid-template-columns:1fr}.feature-card>img{height:215px}.feature-content p{min-height:auto}.split-section{grid-template-columns:1fr;gap:32px}.split-image{order:0}.split-image img{height:300px}.split-copy{order:1}.closing-panel{align-items:flex-start;flex-direction:column;padding:34px 26px;gap:27px}.page-hero{padding:43px 0 52px}.breadcrumb{margin-bottom:27px}.page-lead{font-size:1rem}.research-row{grid-template-columns:1fr;gap:20px;padding:14px}.research-image img{height:215px}.contact-layout,.donation-layout{grid-template-columns:1fr;gap:28px}.contact-card,.bank-card{padding:25px}.footer-main{grid-template-columns:1fr;gap:32px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:30px}.site-footer{padding-top:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* ── Modern interaction and accessibility refinements ─────────────────── */
:root { --ease-out: cubic-bezier(.2,.75,.25,1); }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible {
  outline: 3px solid #f27621; outline-offset: 4px;
}
.site-header { transition: box-shadow .25s ease, background .25s ease; }
.site-nav > a:not(.nav-cta) { position: relative; }
.site-nav > a:not(.nav-cta)::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -8px;
  height: 2px; background: var(--orange); transition: right .25s var(--ease-out);
}
.site-nav > a:not(.nav-cta):hover::after,
.site-nav > a:not(.nav-cta)[aria-current="page"]::after { right: 0; }
.button, .nav-cta, .copy-button { will-change: transform; }
.feature-card, .number-grid article, .research-row, .contact-card, .bank-card {
  transition: transform .28s var(--ease-out), box-shadow .28s var(--ease-out), border-color .28s ease;
}
.number-grid article:hover, .research-row:hover {
  transform: translateY(-4px); border-color: #c8dce5; box-shadow: 0 18px 42px rgba(16,47,82,.08);
}
.feature-card > img, .research-image img, .split-image img, .hero-visual > img {
  transition: transform .65s var(--ease-out);
}
.feature-card:hover > img { transform: scale(1.035); }
.reveal-pending { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s var(--ease-out); }
.reveal-pending.revealed { opacity: 1; transform: translateY(0); }
.page-hero { position: relative; overflow: hidden; }
.page-hero::after {
  content: ""; position: absolute; width: 360px; height: 360px; right: -150px; top: -190px;
  border: 1px solid rgba(26,103,142,.12); border-radius: 50%;
  box-shadow: 0 0 0 36px rgba(26,103,142,.025), 0 0 0 72px rgba(26,103,142,.02);
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 1; }
.contact-detail a:hover, .footer-links a:hover, .text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer { position: relative; }
.site-footer::before { content: ""; display: block; height: 3px; position: absolute; inset: 0 0 auto; background: linear-gradient(90deg, var(--teal), var(--blue), var(--orange)); }
@media (max-width: 980px) {
  .hero-grid { gap: 38px; }
  .hero-visual > img { height: 390px; }
}
@media (max-width: 760px) {
  .section { padding: 68px 0; }
  .hero { padding: 62px 0 68px; }
  .hero-grid, .section-heading, .split-section, .contact-layout, .donation-layout {
    grid-template-columns: 1fr; gap: 34px;
  }
  .hero-visual { margin: 0 10px 0 0; }
  .hero-visual > img { height: min(76vw, 390px); }
  .image-label { right: -8px; bottom: 42px; }
  .intro-band-grid { grid-template-columns: 1fr; gap: 14px; }
  .feature-grid, .number-grid { grid-template-columns: 1fr; }
  .feature-content p { min-height: 0; }
  .research-row { grid-template-columns: 1fr; gap: 18px; }
  .research-image img { height: 220px; }
  .closing-panel { padding: 34px 26px; align-items: flex-start; flex-direction: column; gap: 25px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .page-hero { padding: 54px 0 58px; }
  .page-hero h1 { font-size: clamp(2.45rem, 11vw, 4rem); }
}
@media (max-width: 420px) {
  .container, .nav-shell { width: calc(100% - 30px); }
  .footer-main { grid-template-columns: 1fr; }
  .footer-intro { grid-column: auto; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important;
    animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-pending { opacity: 1; transform: none; }
}


/* Mobile navigation: remove decorative hover/active underline */
@media (max-width: 760px) {
  .site-nav > a:not(.nav-cta)::after,
  .site-nav > a:not(.nav-cta):hover::after,
  .site-nav > a:not(.nav-cta)[aria-current="page"]::after {
    content: none !important;
    display: none !important;
  }
}
