/* MACM 2026 final-review polish • official identity and responsive editorial layout */
:root{--ink:#171b19;--paper:#faf9f5;--muted:#555a53;--accent:#7561d8;--lime:#d8f46f}
html{scroll-padding-top:96px}
body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:#d8f46f;color:#171b19}
.skip-link{position:fixed;top:-60px;left:20px;padding:12px 17px;background:#171b19;color:#fff;z-index:10000;font-size:14px;font-weight:700;transition:top .2s}
.skip-link:focus{top:14px}
.site-header{box-shadow:0 1px 0 rgba(0,0,0,.08);z-index:25}
.brand{gap:11px;min-width:0;flex-shrink:0}
.brand-logo{width:auto;height:62px;max-width:none;object-fit:contain}
.brand-wordmark{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.075em;font-weight:800;line-height:1.05;white-space:nowrap}
.main-nav>a{transition:color .2s ease,background .2s ease}
.main-nav>a:not(.nav-donate):focus-visible{color:#6651c9}
.main-nav .nav-donate:hover,.main-nav .nav-donate:focus-visible{background:#5743bf}
.home-hero h1{letter-spacing:-.074em;text-wrap:balance}
.hero-copy>p{max-width:510px}
.hero-logo-card{transform:none;left:5%;bottom:5%;width:180px;background:#fff;padding:13px;border-radius:3px;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.hero-logo-card img{width:100%;height:auto}
.hero-sticker{box-shadow:0 12px 30px rgba(0,0,0,.18)}
.small-square{background:#d9efab;border-radius:3px}
.small-square img{height:70%;width:70%;object-fit:contain}
.poster-showcase{background:#f3f1ea}
.poster-grid{gap:14px;align-items:start}
.poster-card{min-width:0;gap:10px;transition:transform .2s ease}
.poster-card:hover,.poster-card:focus-visible{transform:translateY(-5px)}
.poster-card img{border:1px solid #c7c6c1;background:#fbfaf6;box-shadow:0 12px 25px rgba(0,0,0,.08);object-fit:contain;aspect-ratio:4/7}
.poster-card span{font-size:12px;letter-spacing:.04em}
.program-fact{background:#efedfb;border-left-color:#6d58ce}
.directory-row{grid-template-columns:80px minmax(0,1fr) 95px;gap:26px;padding-top:43px;padding-bottom:43px}
.directory-row h3{letter-spacing:-.065em;overflow-wrap:anywhere}
.program-inquiry{margin-top:18px;display:inline-flex;align-items:center;gap:12px;padding:9px 0;border-bottom:2px solid currentColor;font-size:11px;font-weight:800;letter-spacing:.1em;color:#5d4ab5;transition:gap .2s}
.program-inquiry:hover{gap:20px}
.footer-brand img{width:225px;max-width:100%;height:auto;filter:none}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-cta:hover{color:#fff}
.btn{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.hero-corner-logo{pointer-events:none}
@media(max-width:1250px){.brand-wordmark{display:none}.main-nav{gap:16px}.site-header{padding-left:4%;padding-right:4%}}
@media(max-width:1100px){.brand-logo{height:56px}.directory-row{grid-template-columns:58px 1fr 64px}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
  html{scroll-padding-top:76px}
  .brand-logo{height:49px;max-width:none}
  .site-header{z-index:50}
  .main-nav{z-index:55}
  .home-hero .hero-logo-card{left:5%;bottom:5%;width:152px}
  .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-row{grid-template-columns:48px minmax(0,1fr);gap:16px;padding:34px 6%}
  .directory-row h3{font-size:clamp(33px,7vw,60px)}
  .footer-logo{width:min(220px,100%)}
}
@media(max-width:540px){
  .brand-logo{height:43px}
  .site-header{padding-left:5%;padding-right:5%}
  .poster-grid{gap:12px}
  .poster-card span{font-size:10px}
  .hero-logo-card{width:130px!important}
  .home-hero h1{font-size:clamp(45px,12.5vw,68px)}
  .directory-row{grid-template-columns:1fr}
  .directory-index{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.btn,.poster-card,.program-inquiry{transition:none}}


/* Photo-content refresh: more original MACM imagery across pages */
.hero-photo{background-image:linear-gradient(0deg,rgba(15,13,24,.48),transparent 60%),url('home-hero-chess.webp')!important;mix-blend-mode:normal;opacity:.94;background-position:center center!important}
.story-image{background:linear-gradient(15deg,rgba(12,13,13,.33),transparent),url('home-story-circle.webp') center/cover,#758076}
.about-feature .story-image{background:linear-gradient(15deg,rgba(12,13,13,.18),transparent),url('about-team-photo.webp') center/cover,#758076}
.photo-gallery-section{padding:95px 7.5%}
.photo-gallery-section.paper{background:#f3f1ea}
.photo-gallery-section.soft{background:#e5e1fa}
.photo-gallery-section.dark{background:#171b19;color:#fff}
.photo-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}
.photo-gallery-head h2{margin:0;font-size:clamp(38px,5vw,70px)}
.photo-gallery-head h2 span{color:#7360d7}
.photo-gallery-head p{max-width:540px;font-size:16px;color:var(--muted);margin:0}
.photo-gallery-section.dark .photo-gallery-head p{color:#cfd3cc}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.gallery-card{position:relative;overflow:hidden;background:#ddd;grid-column:span 4;border-radius:2px;box-shadow:0 10px 26px rgba(0,0,0,.08)}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.gallery-card.feature{grid-column:span 6}
.gallery-card.feature img{aspect-ratio:4/5}
.gallery-card.wide{grid-column:span 6}
.gallery-card.wide img{aspect-ratio:16/10}
.gallery-card.tall img{aspect-ratio:4/5}
.gallery-card.square img{aspect-ratio:1/1}
.gallery-card.poster img{aspect-ratio:1/1;object-fit:cover;background:#fff}
.gallery-card .caption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));color:#fff;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.gallery-note{margin-top:16px;font-size:12px;color:#687067;line-height:1.6}
.photo-split{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:stretch}
.photo-split .text-panel{background:#d7f26f;padding:48px;display:flex;flex-direction:column;justify-content:center}
.photo-split .text-panel h2{margin:0 0 18px;font-size:clamp(36px,4.2vw,62px)}
.photo-split .text-panel p{font-size:16px;max-width:520px}
.photo-split .visual-panel img{width:100%;height:100%;object-fit:cover;display:block;min-height:100%}
.photo-split .visual-panel{overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.08)}
@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-card,.gallery-card.feature,.gallery-card.wide{grid-column:span 3}.photo-split{grid-template-columns:1fr}}
@media(max-width:820px){.photo-gallery-head{flex-direction:column;align-items:start}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card,.gallery-card.feature,.gallery-card.wide{grid-column:span 1}.photo-split .text-panel{padding:34px}}
@media(max-width:540px){.photo-gallery-section{padding:70px 6%}.gallery-grid{grid-template-columns:1fr}.gallery-card,.gallery-card.feature,.gallery-card.wide{grid-column:span 1}.photo-gallery-head h2{font-size:clamp(34px,11vw,56px)} .photo-split .text-panel{padding:30px}}


/* 2026 curated five-program directory and board recruitment */
.program-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.program-grid .program-tile{grid-column:span 3}
.program-grid .program-tile.t5{grid-column:span 6;background:#c8ece6;color:#17211d;min-height:245px}
.program-tile.t5 .tile-symbol{font-size:200px;color:rgba(12,43,27,.13)}
.program-tile.t5 h3{font-size:clamp(36px,4vw,59px)}
.program-directory .directory-row .directory-icon{opacity:.9}
.contact-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.board-recruitment{background:#191e1c;color:#f6f5f0;padding:105px 7.5%;scroll-margin-top:40px}
.board-recruitment-inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:8%;align-items:start}
.board-recruitment .section-kicker{color:var(--lime)}
.board-recruitment h2{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(44px,6vw,82px);letter-spacing:-.07em;line-height:1.01;margin:0 0 30px}
.board-recruitment h2 em{font-family:Georgia,serif;color:var(--lime);font-weight:400;letter-spacing:-.07em}
.board-recruitment .board-intro{font-size:18px;max-width:640px;color:#d9dcd5;line-height:1.67}
.board-cta{margin-top:24px}
.board-recruitment-details{border-top:1px solid #5a625b;padding-top:22px}
.board-badge{display:flex;align-items:center;height:82px;margin:6px 0 32px}
.board-badge img{width:auto;height:100%;object-fit:contain}
.board-recruitment h3{font-family:'Space Grotesk',Arial,sans-serif;font-size:29px;letter-spacing:-.035em;margin:0 0 28px}
.board-recruitment-items>div{border-top:1px solid #424943;padding:19px 0 10px}
.board-recruitment-items strong{font-size:11px;color:var(--lime);letter-spacing:.12em}
.board-recruitment-items p{font-size:15px;color:#d0d6cd;margin:10px 0 7px;max-width:460px}
.board-recruitment-note{font-size:13px;color:#afb6ad;border-top:1px solid #424943;padding-top:24px;line-height:1.65;margin:8px 0 0}
.board-involve-card{background:#d9e9bb!important}
.board-involve-card h2{letter-spacing:-.06em}
@media(max-width:820px){
  .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .program-grid .program-tile,.program-grid .program-tile.t5{grid-column:span 1}
  .program-grid .program-tile.t5{min-height:280px}
  .board-recruitment{padding:80px 7.5%}
  .board-recruitment-inner{grid-template-columns:1fr;gap:56px}
}
@media(max-width:540px){
  .program-grid{grid-template-columns:1fr}
  .program-grid .program-tile,.program-grid .program-tile.t5{grid-column:span 1;min-height:265px}
  .contact-buttons{grid-template-columns:1fr}
  .board-recruitment{padding:70px 7.5%}
  .board-recruitment h2{font-size:clamp(42px,11vw,64px)}
  .board-recruitment .board-intro{font-size:16px}
  .board-recruitment .board-cta{width:100%}
}

/* Fixed donation action on all seven MACM pages. */
.floating-donate{
  position:fixed;right:22px;bottom:22px;bottom:calc(22px + env(safe-area-inset-bottom));
  z-index:1000;display:inline-flex;justify-content:center;align-items:center;gap:10px;
  min-height:56px;padding:13px 19px;background:#d8f46f;color:#151a18;
  border:2px solid #151a18;border-radius:999px;box-shadow:0 7px 0 #151a18,0 15px 30px rgba(0,0,0,.24);
  font:800 13px/1 'DM Sans',Arial,sans-serif;letter-spacing:.07em;
  text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;
}
.floating-donate:hover{background:#f1ffba;transform:translateY(-3px);box-shadow:0 9px 0 #151a18,0 18px 32px rgba(0,0,0,.24)}
.floating-donate:focus-visible{outline:4px solid #735de2;outline-offset:6px}
.floating-donate-icon{font-size:18px;line-height:1;color:#7351c5}
.floating-donate-arrow{font-size:18px;line-height:1}
.footer{padding-bottom:112px}
@media(max-width:820px){
 .floating-donate{right:14px;bottom:14px;bottom:calc(14px + env(safe-area-inset-bottom));min-height:49px;padding:11px 15px;font-size:12px;box-shadow:0 5px 0 #151a18,0 10px 20px rgba(0,0,0,.22)}
 .floating-donate:hover{box-shadow:0 7px 0 #151a18,0 12px 22px rgba(0,0,0,.24)}
}
@media(prefers-reduced-motion:reduce){.floating-donate{transition:none}}

/* MACM board application page */
.board-interest-hero{min-height:420px;padding-bottom:80px}.board-interest-hero h1{font-size:clamp(58px,8.2vw,118px)}
.board-application-section{padding:95px 7.5%;background:#f3f1ea;display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:6%;align-items:start}
.board-application-intro{position:sticky;top:32px}.board-application-intro h2{font-size:clamp(42px,4.8vw,68px);margin:0 0 26px}.board-application-intro h2 em{font-family:Georgia,serif;font-weight:400;color:#6e5bc4}.board-application-intro>p{max-width:540px;font-size:17px}.board-values{display:flex;flex-wrap:wrap;gap:8px;margin:31px 0}.board-values span{display:inline-block;border:1px solid #b7b5ad;padding:9px 11px;font-size:10px;letter-spacing:.07em;font-weight:800}.board-privacy-copy{font-size:13px!important;color:#4e554e;line-height:1.7}.board-application-panel{background:#fff;padding:46px;box-shadow:0 18px 48px rgba(14,16,18,.09);border-top:6px solid #d6f674}.board-form-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d9d9d2;padding-bottom:19px;font-size:10px;letter-spacing:.1em;font-weight:800;color:#62665e}.board-application-panel h3{font-size:clamp(28px,3.2vw,42px);margin:26px 0 12px}.board-application-panel>p{color:#596059;font-size:13px}.board-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px;margin-top:26px}.board-field{display:flex;flex-direction:column;gap:8px;min-width:0}.board-field.wide{grid-column:span 2}.board-field label{font-size:12px;font-weight:750;line-height:1.45;color:#202820}.board-field label .required{color:#6b52b7;padding-left:4px}.board-field input:not([type=checkbox]),.board-field textarea{padding:13px 14px;border:1px solid #c4c7bf;border-radius:2px;background:#fdfdfa;font:inherit;font-size:15px;color:#1c231e;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}.board-field input:focus,.board-field textarea:focus{border-color:#6b52b7;box-shadow:0 0 0 3px rgba(107,82,183,.15)}.board-field textarea{min-height:105px;resize:vertical}.board-field-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;border-top:1px solid #dcded7;padding-top:20px}.board-field-consent label{font-size:13px;font-weight:600}.board-field-consent input{margin:2px 0 0;width:20px;height:20px;accent-color:#6551be;flex:0 0 auto}.board-form-submit{grid-column:span 2;width:100%;border:0;background:#181d1a;color:#d8f46f;padding:19px 22px;font-weight:800;font-size:12px;letter-spacing:.075em;cursor:pointer;min-height:57px;display:flex;justify-content:space-between;gap:20px}.board-form-submit:hover{background:#463c80}.board-form-submit:disabled{opacity:.5;cursor:wait}.board-form-error{font-size:12px;color:#ad2731;margin:0}.board-form-success{padding:26px;background:#edf7d7;border-left:4px solid #587c37;color:#273c1e}.board-form-success h3{margin-top:0}.board-form-status{color:#555e56;font-size:14px;padding:14px 0}.board-form-status.is-error{color:#a8242e}.board-form-global-error{grid-column:span 2;background:#fae9e9;color:#95202a;padding:14px 16px;font-size:13px}.board-form-input-error{border-color:#aa3035!important}.board-application-panel .form-req{font-size:12px;color:#7a5dc7}
@media(max-width:1100px){.board-application-section{grid-template-columns:1fr;gap:40px}.board-application-intro{position:static}.board-application-panel{max-width:750px}}
@media(max-width:700px){.board-application-section{padding:65px 5.5%}.board-application-panel{padding:25px 21px}.board-form-grid{grid-template-columns:1fr}.board-field,.board-field.wide,.board-form-submit,.board-form-global-error{grid-column:span 1}.board-form-header{flex-direction:column;gap:5px}.board-interest-hero{min-height:360px}}
