/*
 * ArtTruistic Interactive Homepage
 * Premium front-end layer for the Artturtist starter theme.
 */

:root {
  --at-navy: #182e58;
  --at-navy-2: #101f3c;
  --at-blue: #1e6db5;
  --at-sky: #639fd5;
  --at-canvas: #f8fafc;
  --at-white: #ffffff;
  --at-ink: #13233f;
  --at-muted: #64748b;
  --at-line: rgba(24, 46, 88, 0.14);
  --at-gold: #c9a45c;
  --at-shadow: 0 26px 80px rgba(18, 39, 75, 0.15);
  --at-radius: 28px;
  --at-font: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --at-serif: "Cormorant Garamond", Georgia, serif;
}


/* V3 standalone homepage essentials (base theme CSS is intentionally not loaded here). */
html { scroll-behavior:smooth; }
body:is(.home,.page-template-page-homepage) { min-width:320px; }
.screen-reader-text {
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.screen-reader-text:focus {
  z-index:100000; top:12px; left:12px; width:auto; height:auto; padding:12px 16px; margin:0;
  clip:auto; border-radius:8px; color:var(--at-navy); background:#fff; box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.at_site img { content-visibility:auto; }

/* Starter-theme compatibility: this template supplies its own header/footer. */
body:is(.home,.page-template-page-homepage) #masthead,
body:is(.home,.page-template-page-homepage) #colophon,
body:is(.home,.page-template-page-homepage) .site > .skip-link + #masthead {
  display: none !important;
}
body:is(.home,.page-template-page-homepage) #page,
body:is(.home,.page-template-page-homepage) .site {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
body:is(.home,.page-template-page-homepage) {
  margin: 0;
  overflow-x: hidden;
  background: var(--at-canvas);
  color: var(--at-ink);
  font-family: var(--at-font);
  cursor: none;
}
body:is(.home,.page-template-page-homepage).admin-bar .at_header { top: 32px; }
body.at_lightbox_open { overflow: hidden; }
.at_site *, .at_site *::before, .at_site *::after { box-sizing: border-box; }
.at_site img { max-width: 100%; height: auto; }
.at_site a { color: inherit; text-decoration: none; }
.at_site button, .at_site input { font: inherit; }
.at_site button { color: inherit; }
.at_main { overflow: clip; }
.at_section { position: relative; padding: clamp(88px, 9vw, 150px) 0; }
.at_kicker, .at_micro_label, .at_eyebrow {
  margin: 0 0 20px;
  color: var(--at-blue);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.at_kicker_light { color: rgba(255,255,255,.72); }
.at_section h2, .at_path_card h2, .at_cta h2, .at_philosophy h2 {
  margin: 0;
  color: var(--at-navy);
  font-size: clamp(2.45rem, 4.6vw, 5.2rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.99;
}
.at_section h2 em, .at_cta h2 em { font-family: var(--at-serif); font-weight: 600; }
.at_lead { color: var(--at-navy); font-size: clamp(1.08rem, 1.5vw, 1.33rem); line-height: 1.72; }

/* Buttons */
.at_btn {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0 24px;
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  transition: transform .35s ease, box-shadow .35s ease, background .35s ease, border-color .35s ease;
  white-space: nowrap;
}
.at_btn_primary { color: #fff !important; background: linear-gradient(135deg, var(--at-blue), var(--at-sky)); box-shadow: 0 14px 34px rgba(30,109,181,.27); }
.at_btn_primary:hover { box-shadow: 0 18px 42px rgba(30,109,181,.38); }
.at_btn_ghost { color: #fff !important; border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.07); backdrop-filter: blur(12px); }
.at_btn_light { color: var(--at-navy) !important; background: #fff; box-shadow: 0 15px 35px rgba(12,31,63,.14); }
.at_btn_dark { color: #fff !important; background: var(--at-navy); box-shadow: 0 15px 35px rgba(12,31,63,.18); }
.at_btn_lg { min-height: 58px; padding: 0 30px; }
.at_text_link { display: inline-flex; align-items: center; gap: 12px; font-size: .88rem; font-weight: 700; }
.at_text_link svg { width: 23px; transition: transform .28s ease; }
.at_text_link:hover svg { transform: translateX(5px); }
.at_text_link_light { color: #fff !important; }

/* Custom cursor */
.at_cursor { position: fixed; inset: 0 auto auto 0; z-index: 99999; pointer-events: none; opacity: 0; transition: opacity .2s ease; }
.at_cursor.is-visible { opacity: 1; }
.at_cursor_ring { position: absolute; left: 0; top: 0; border-radius: 50%; transform: translate(-50%, -50%); will-change: transform, width, height; }
.at_cursor_ring_outer { width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.58); backdrop-filter: invert(.02); transition: width .28s ease, height .28s ease, border-color .28s ease, background .28s ease; }
.at_cursor_ring_inner { width: 6px; height: 6px; background: var(--at-sky); }
.at_cursor_label { position: absolute; left: 0; top: 0; transform: translate(-50%,-50%); color:#fff; font-size: 8px; font-weight: 800; letter-spacing:.12em; opacity:0; white-space:nowrap; transition: opacity .2s ease; }
.at_cursor.is-active .at_cursor_ring_outer { width: 74px; height: 74px; border-color: rgba(99,159,213,.8); background: rgba(24,46,88,.22); }
.at_cursor.is-active .at_cursor_ring_inner { opacity:0; }
.at_cursor.is-active .at_cursor_label { opacity:1; }

/* Header */
.at_header { position: fixed; z-index: 1000; top: 0; left: 0; right: 0; padding: 18px 24px; transition: padding .35s ease, background .35s ease, box-shadow .35s ease; }
.at_header::before { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,25,52,.82), rgba(10,25,52,.3) 74%, transparent); pointer-events:none; transition: opacity .35s ease; }
.at_header.is-scrolled { padding-top: 11px; padding-bottom: 11px; background: rgba(16,31,60,.88); backdrop-filter: blur(20px) saturate(140%); box-shadow: 0 10px 50px rgba(7,18,38,.16); border-bottom: 1px solid rgba(255,255,255,.08); }
.at_header.is-scrolled::before { opacity:0; }
.at_header_inner { position:relative; display:grid; grid-template-columns: 190px 1fr auto; align-items:center; gap:30px; max-width: 1540px; margin:auto; }
.at_brand { display:inline-flex; align-items:center; width: 178px; transform-origin:left center; }
.at_brand img { display:block; width:100%; }
.at_nav { display:flex; justify-content:center; gap:clamp(20px,2.4vw,38px); }
.at_nav a { position:relative; color:rgba(255,255,255,.82); font-size:.8rem; font-weight:700; }
.at_nav a::after { content:""; position:absolute; left:0; bottom:-8px; width:100%; height:1px; background:var(--at-sky); transform:scaleX(0); transform-origin:right; transition:transform .3s ease; }
.at_nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.at_header_actions { display:flex; gap:10px; align-items:center; }
.at_nav_toggle { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(255,255,255,.06); }
.at_nav_toggle span { display:block; width:18px; height:1px; margin:4px auto; background:#fff; }

/* Hero */
.at_hero { position:relative; min-height: 760px; height:100svh; max-height:1080px; color:#fff; background:var(--at-navy-2); overflow:hidden; }
.at_hero_slider, .at_hero_slide { position:absolute; inset:0; }
.at_hero_slide { visibility:hidden; opacity:0; }
.at_hero_slide.is-active { visibility:visible; opacity:1; }
.at_hero_media { position:absolute; inset:-4%; background-image:var(--at-hero-image); background-position:var(--at-hero-position,center); background-size:cover; transform:scale(1.05); will-change:transform; }
.at_hero_scrim { position:absolute; inset:0; background: linear-gradient(90deg, rgba(9,25,52,.94) 0%, rgba(11,31,64,.73) 41%, rgba(10,27,54,.25) 68%, rgba(10,27,54,.34) 100%), linear-gradient(0deg, rgba(9,23,49,.78), transparent 46%); }
.at_hero_content { position:relative; z-index:4; display:flex; align-items:center; height:100%; padding-top:100px; padding-bottom:120px; }
.at_hero_copy { width:min(880px,72vw); }
.at_eyebrow { color:rgba(255,255,255,.69); }
.at_hero_title { max-width: 900px; margin:0; color:#fff; font-size:clamp(3.2rem,6.7vw,7.7rem); font-weight:700; letter-spacing:-.064em; line-height:.91; text-wrap:balance; }
.at_hero_title .at_word { display:inline-block; overflow:hidden; margin-right:.18em; vertical-align:top; }
.at_hero_title .at_word > span { display:inline-block; }
.at_hero_text { max-width:690px; margin:30px 0 0; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.2vw,1.18rem); line-height:1.75; }
.at_hero_actions { display:flex; gap:28px; align-items:center; margin-top:36px; }
.at_parallax_layer { position:absolute; z-index:2; pointer-events:none; will-change:transform; }
.at_parallax_blob { border-radius:50%; filter:blur(1px); opacity:.35; }
.at_parallax_blob_one { width:460px; height:460px; right:-140px; top:14%; background:radial-gradient(circle at 30% 30%, rgba(99,159,213,.62), transparent 65%); }
.at_parallax_blob_two { width:310px; height:310px; left:46%; bottom:-120px; background:radial-gradient(circle at 50% 50%, rgba(30,109,181,.52), transparent 64%); }
.at_brushstroke { right:2%; bottom:13%; width:min(37vw,560px); color:var(--at-sky); transform:rotate(-9deg); }
.at_hero_controls { position:absolute; z-index:9; left:50%; bottom:48px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:34px; width:min(1540px,calc(100% - 48px)); transform:translateX(-50%); }
.at_slide_counter { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.86); font-size:.78rem; font-weight:800; letter-spacing:.11em; }
.at_slide_counter i { width:32px; height:1px; background:rgba(255,255,255,.38); }
.at_slide_progress { display:flex; align-items:center; gap:10px; }
.at_progress_item { flex:1 1 0; border:0; background:transparent; padding:12px 0; cursor:pointer; }
.at_progress_line { display:block; height:1px; background:rgba(255,255,255,.25); overflow:hidden; }
.at_progress_line span { display:block; width:100%; height:100%; background:#fff; transform:scaleX(0); transform-origin:left; }
.at_progress_item.is-active .at_progress_line span { transform:scaleX(1); }
.at_slide_arrows { display:flex; gap:10px; }
.at_circle_btn { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(255,255,255,.05); color:#fff; backdrop-filter:blur(8px); }
.at_circle_btn svg { width:20px; }
.at_scroll_cue { position:absolute; z-index:8; right:24px; top:50%; display:flex; align-items:center; gap:14px; transform:translateY(-50%) rotate(90deg) translateX(45%); transform-origin:right center; color:rgba(255,255,255,.5); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.at_scroll_cue svg { width:17px; transform:rotate(-90deg); }

/* Impact */
.at_impact { position:relative; z-index:20; margin-top:-1px; padding:0 0 42px; background:var(--at-canvas); }
.at_impact_shell { display:grid; grid-template-columns: .8fr 2.2fr; gap:36px; align-items:stretch; margin-top:-58px; border:1px solid rgba(255,255,255,.72); border-radius:26px; padding:28px; background:rgba(255,255,255,.87); backdrop-filter:blur(18px); box-shadow:var(--at-shadow); }
.at_impact_intro { display:flex; flex-direction:column; justify-content:center; padding:14px 20px; border-right:1px solid var(--at-line); }
.at_impact_intro p { margin:0; color:var(--at-muted); line-height:1.6; }
.at_micro_label { margin-bottom:11px; font-size:.68rem; }
.at_impact_grid { display:grid; grid-template-columns:repeat(3,1fr); }
.at_stat { padding:10px 26px; border-right:1px solid var(--at-line); }
.at_stat:last-child { border-right:0; }
.at_stat_icon { width:42px; height:42px; color:var(--at-blue); }
.at_stat_icon svg { width:100%; height:100%; }
.at_stat_value { display:flex; align-items:baseline; margin-top:10px; color:var(--at-navy); letter-spacing:-.04em; }
.at_stat_value strong { font-size:clamp(2rem,3vw,3.35rem); line-height:1; }
.at_stat_value span { font-size:1.15rem; font-weight:800; }
.at_stat p { margin:8px 0 0; color:var(--at-muted); font-size:.78rem; line-height:1.5; }

/* About */
.at_about { background:linear-gradient(180deg,var(--at-canvas),#fff); }
.at_section_copy { max-width:650px; }
.at_section_copy > p:not(.at_kicker):not(.at_lead) { color:var(--at-muted); line-height:1.8; }
.at_section_copy h2 { max-width:620px; margin-bottom:28px; }
.at_checklist { list-style:none; padding:0; margin:32px 0; display:grid; gap:15px; }
.at_checklist li { display:flex; align-items:flex-start; gap:12px; color:var(--at-ink); font-size:.92rem; font-weight:600; line-height:1.55; }
.at_checklist span { flex:0 0 auto; display:grid; place-items:center; width:26px; height:26px; margin-top:-2px; border-radius:50%; background:rgba(99,159,213,.12); color:var(--at-blue); }
.at_checklist svg { width:14px; }
.at_quote { margin:36px 0 0; padding:28px 0 0; border-top:1px solid var(--at-line); }
.at_quote p { margin:0; color:var(--at-navy); font-family:var(--at-serif); font-size:clamp(1.45rem,2.1vw,2rem); font-style:italic; line-height:1.34; }
.at_quote cite { display:block; margin-top:12px; color:var(--at-muted); font-size:.7rem; font-style:normal; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.at_artwork_stage { position:relative; max-width:560px; margin-left:auto; perspective:1200px; }
.at_artwork_glow { position:absolute; inset:8% -4% -4% 9%; border-radius:36px; background:radial-gradient(circle,rgba(99,159,213,.3),transparent 65%); filter:blur(20px); }
.at_artwork_frame { position:relative; padding:14px; border:1px solid rgba(201,164,92,.45); border-radius:26px; background:linear-gradient(145deg,#1a335f,#0f2347); box-shadow:0 40px 90px rgba(22,44,84,.22), inset 0 0 0 1px rgba(255,255,255,.08); transform-style:preserve-3d; transition:transform .15s linear; }
.at_artwork_frame::before { content:""; position:absolute; inset:7px; border:1px solid rgba(99,159,213,.4); border-radius:21px; pointer-events:none; }
.at_artwork_button { position:relative; display:block; width:100%; aspect-ratio: 4/5.3; overflow:hidden; border:0; border-radius:17px; background:#e9edf2; padding:0; cursor:pointer; }
.at_artwork_button img { width:100%; height:100%; object-fit:cover; display:block; }
.at_artwork_shine { position:absolute; inset:0; background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.18) 45%,transparent 62%); transform:translateX(-120%); transition:transform .8s ease; }
.at_artwork_button:hover .at_artwork_shine { transform:translateX(120%); }
.at_artwork_meta { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; padding:18px 10px 9px; color:#fff; }
.at_artwork_meta strong { display:block; font-size:.8rem; }
.at_artwork_meta span:not(.at_badge) { display:block; margin-top:5px; color:rgba(255,255,255,.58); font-size:.66rem; }
.at_badge { display:inline-flex; align-items:center; min-height:27px; padding:0 10px; border:1px solid rgba(201,164,92,.45); border-radius:999px; color:#ead29f; font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* Process */
.at_process { background:var(--at-navy-2); color:#fff; overflow:hidden; }
.at_process::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 10%,rgba(99,159,213,.17),transparent 35%), radial-gradient(circle at 10% 100%,rgba(30,109,181,.13),transparent 35%); }
.at_process .at_kicker { color:var(--at-sky); }
.at_process .at_section_heading { position:relative; z-index:1; display:grid; grid-template-columns:1.45fr .75fr; gap:70px; align-items:end; }
.at_process h2 { max-width:820px; color:#fff; }
.at_section_heading > p { margin:0 0 4px; color:rgba(255,255,255,.62); line-height:1.8; }
.at_process_grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:60px; }
.at_process_card { position:relative; min-height:420px; padding:36px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:26px; background:rgba(255,255,255,.045); backdrop-filter:blur(12px); transition:transform .35s ease, border-color .35s ease, background .35s ease; }
.at_process_card:hover { transform:translateY(-8px); border-color:rgba(99,159,213,.5); background:rgba(255,255,255,.07); }
.at_process_glow { position:absolute; inset:auto -15% -40% -15%; height:65%; background:radial-gradient(circle,rgba(99,159,213,.23),transparent 70%); opacity:0; transition:opacity .35s ease; }
.at_process_card:hover .at_process_glow { opacity:1; }
.at_process_top { display:flex; justify-content:space-between; align-items:flex-start; color:rgba(255,255,255,.36); font-size:.72rem; font-weight:800; }
.at_process_icon { display:grid; place-items:center; width:60px; height:60px; border-radius:18px; color:var(--at-sky); background:rgba(99,159,213,.08); }
.at_process_icon svg { width:32px; }
.at_process_card h3 { margin:80px 0 16px; color:#fff; font-size:1.42rem; letter-spacing:-.025em; }
.at_process_card p { color:rgba(255,255,255,.62); line-height:1.75; }
.at_process_detail { position:absolute; left:36px; right:36px; bottom:32px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.45); font-size:.68rem; line-height:1.5; }
.at_process_detail span { flex:0 0 20px; height:1px; background:var(--at-sky); transform-origin:left; }

/* Gallery */
.at_gallery { background:#fff; }
.at_gallery_head { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; }
.at_gallery_head h2 { max-width:700px; }
.at_filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.at_filters button { min-height:40px; border:1px solid var(--at-line); border-radius:999px; padding:0 15px; background:#fff; color:var(--at-muted); font-size:.7rem; font-weight:800; }
.at_filters button.is-active, .at_filters button:hover { color:#fff; border-color:var(--at-navy); background:var(--at-navy); }
.at_gallery_grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:54px; gap:18px; margin-top:48px; }
.at_gallery_card { position:relative; grid-column:span 4; grid-row:span 7; overflow:hidden; border-radius:22px; background:#dfe7ee; transform-origin:center; }
.at_gallery_card.at_gallery_tall { grid-row:span 10; }
.at_gallery_card.at_gallery_wide { grid-column:span 8; }
.at_gallery_card img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.at_gallery_card:hover img { transform:scale(1.055); }
.at_gallery_scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(12,28,57,.06),rgba(12,28,57,.1) 45%,rgba(10,26,54,.86)); }
.at_gallery_content { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:22px; color:#fff; }
.at_gallery_badge { align-self:flex-start; padding:7px 10px; border:1px solid rgba(255,255,255,.26); border-radius:999px; background:rgba(14,35,69,.25); backdrop-filter:blur(10px); font-size:.61rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.at_gallery_bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.at_gallery_bottom h3 { margin:0; color:#fff; font-size:1.25rem; }
.at_gallery_bottom p { margin:5px 0 0; color:rgba(255,255,255,.63); font-size:.7rem; }
.at_gallery_cta { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; color:var(--at-navy); background:#fff; transform:translateY(8px); opacity:0; transition:transform .3s ease,opacity .3s ease; }
.at_gallery_cta svg { width:20px; }
.at_gallery_card:hover .at_gallery_cta { transform:translateY(0); opacity:1; }
.at_gallery_card.is-hidden { display:none; }
.at_gallery_note { margin:20px 0 0; color:#8996a7; font-size:.68rem; }

/* Donor / applicant split */
.at_dual_path { padding-top:45px; background:#fff; }
.at_path_card { min-height:520px; padding:clamp(36px,5vw,68px); border-radius:28px; overflow:hidden; }
.at_path_card h2 { max-width:650px; font-size:clamp(2.3rem,3.8vw,4.4rem); }
.at_path_card p:not(.at_kicker) { max-width:650px; margin:24px 0 34px; line-height:1.8; }
.at_path_donor { position:relative; color:#fff; background:linear-gradient(145deg,#17315f,#1e6db5); }
.at_path_donor::after { content:""; position:absolute; width:330px; height:330px; right:-100px; bottom:-130px; border:65px solid rgba(255,255,255,.06); border-radius:50%; }
.at_path_donor h2,.at_path_donor .at_kicker { color:#fff; }
.at_path_donor p { color:rgba(255,255,255,.7); }
.at_path_artist { border:1px solid var(--at-line); background:linear-gradient(145deg,#f8fafc,#eff5fa); }
.at_path_artist p { color:var(--at-muted); }

/* Philosophy */
.at_philosophy { background:var(--at-canvas); }
.at_philosophy_grid { display:grid; grid-template-columns:.42fr 1.58fr; gap:45px; align-items:start; }
.at_philosophy_mark { color:var(--at-sky); font-family:var(--at-serif); font-size:clamp(11rem,18vw,21rem); line-height:.55; opacity:.24; user-select:none; }
.at_philosophy_copy { max-width:900px; }
.at_philosophy_copy > p:not(.at_kicker) { max-width:760px; margin:30px 0 0; color:var(--at-muted); font-size:1.03rem; line-height:1.9; }
.at_philosophy_points { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.at_philosophy_points span { padding:10px 14px; border:1px solid var(--at-line); border-radius:999px; background:#fff; color:var(--at-navy); font-size:.73rem; font-weight:800; }

/* CTA */
.at_cta { position:relative; padding:clamp(95px,10vw,170px) 0; overflow:hidden; color:#fff; background:var(--at-navy-2); }
.at_cta_mesh { position:absolute; inset:-40%; background:radial-gradient(circle at 35% 40%,rgba(30,109,181,.45),transparent 24%), radial-gradient(circle at 70% 60%,rgba(99,159,213,.34),transparent 22%), radial-gradient(circle at 50% 50%,rgba(24,46,88,.4),transparent 45%); filter:blur(18px); animation:atMesh 11s ease-in-out infinite alternate; }
@keyframes atMesh { to { transform:translate3d(4%,-3%,0) scale(1.05); } }
.at_cta_particles i { position:absolute; width:8px; height:8px; border:1px solid rgba(255,255,255,.25); transform:rotate(45deg); animation:atFloat 8s ease-in-out infinite; }
.at_cta_particles i:nth-child(1){left:10%;top:25%}.at_cta_particles i:nth-child(2){left:22%;bottom:16%;animation-delay:-2s}.at_cta_particles i:nth-child(3){right:12%;top:22%;animation-delay:-4s}.at_cta_particles i:nth-child(4){right:24%;bottom:18%;animation-delay:-1s}.at_cta_particles i:nth-child(5){right:42%;top:12%;animation-delay:-5s}
@keyframes atFloat { 50% { transform:translateY(-22px) rotate(120deg); opacity:.45; } }
.at_cta_inner { position:relative; z-index:2; max-width:1100px; text-align:center; }
.at_cta h2 { color:#fff; font-size:clamp(3rem,6vw,6.9rem); }
.at_cta p:not(.at_kicker) { max-width:720px; margin:28px auto 0; color:rgba(255,255,255,.66); font-size:1.05rem; line-height:1.8; }
.at_cta_actions { display:flex; justify-content:center; align-items:center; gap:28px; margin-top:38px; }

/* Footer */
.at_footer { padding:88px 0 28px; color:rgba(255,255,255,.66); background:#0b1b36; }
.at_footer_top { display:grid; grid-template-columns:1.35fr .65fr .65fr 1.15fr; gap:55px; }
.at_footer_brand img { width:185px; filter:brightness(0) invert(1); }
.at_footer-brand p,.at_footer_brand p { max-width:300px; margin:20px 0 0; line-height:1.75; }
.at_socials { display:flex; gap:8px; margin-top:22px; }
.at_socials a { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.at_socials svg { width:17px; }
.at_footer h3 { margin:0 0 20px; color:#fff; font-size:.82rem; }
.at_footer_links { display:grid; align-content:start; gap:12px; }
.at_footer_links a { font-size:.78rem; transition:color .25s ease; }
.at_footer_links a:hover { color:#fff; }
.at_newsletter p { margin:0 0 20px; font-size:.78rem; line-height:1.7; }
.at_newsletter_form { display:flex; align-items:center; gap:8px; border-bottom:1px solid rgba(255,255,255,.24); }
.at_newsletter_form input { flex:1; min-width:0; height:50px; border:0; outline:0; color:#fff; background:transparent; }
.at_newsletter_form input::placeholder { color:rgba(255,255,255,.38); }
.at_newsletter_form button { display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:50%; color:#fff; background:var(--at-blue); }
.at_newsletter_form svg { width:18px; }
.at_newsletter small { display:block; margin-top:10px; color:rgba(255,255,255,.34); font-size:.62rem; line-height:1.5; }
.at_footer_disclosure { display:flex; gap:16px; align-items:flex-start; margin-top:60px; padding:24px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:rgba(255,255,255,.03); }
.at_footer_disclosure_icon { width:34px; flex:0 0 34px; color:var(--at-sky); }
.at_footer-disclosure-icon svg,.at_footer_disclosure_icon svg { width:100%; }
.at_footer_disclosure p { margin:0; font-size:.68rem; line-height:1.75; }
.at_footer_bottom { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.07); font-size:.65rem; }
.at_footer_bottom p { margin:0; }
.at_footer_bottom div { display:flex; gap:18px; }

/* Lightbox */
.at_lightbox { position:fixed; z-index:2000; inset:0; display:grid; place-items:center; padding:30px; opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s ease; }
.at_lightbox.is-open { opacity:1; visibility:visible; }
.at_lightbox_backdrop { position:absolute; inset:0; background:rgba(5,14,30,.86); backdrop-filter:blur(10px); }
.at_lightbox_panel { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,780px) 280px; width:min(1120px,94vw); max-height:90vh; overflow:auto; border:1px solid rgba(255,255,255,.12); border-radius:22px; background:#102242; box-shadow:0 50px 130px rgba(0,0,0,.45); }
.at_lightbox_panel > img { width:100%; height:100%; max-height:86vh; object-fit:contain; background:#0c1a33; }
.at_lightbox_caption { padding:45px 28px; color:#fff; }
.at_lightbox_caption span { color:var(--at-sky); font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.at_lightbox_caption h3 { margin:16px 0 10px; font-size:1.3rem; }
.at_lightbox_caption p { color:rgba(255,255,255,.58); line-height:1.7; }
.at_lightbox_close { position:absolute; z-index:4; right:15px; top:15px; display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#fff; background:rgba(9,25,52,.66); }
.at_lightbox_close svg { width:20px; }

/* Reveal base */
.js .at_reveal { opacity:0; transform:translateY(34px); }

/* Responsive */
@media (max-width: 1199.98px) {
  .at_header_inner { grid-template-columns:165px 1fr auto; }
  .at_header_actions .at_btn_ghost { display:none; }
  .at_nav { gap:20px; }
  .at_impact_shell { grid-template-columns:1fr; }
  .at_impact_intro { border-right:0; border-bottom:1px solid var(--at-line); }
  .at_process_card { min-height:440px; padding:30px; }
  .at_process_detail { left:30px; right:30px; }
}
@media (max-width: 991.98px) {
  body:is(.home,.page-template-page-homepage) { cursor:auto; }
  .at_cursor { display:none; }
  .at_header { padding:15px 18px; }
  .at_header_inner { grid-template-columns:150px 1fr auto; }
  .at_nav_toggle { display:block; justify-self:end; }
  .at_header_actions { display:none; }
  .at_nav { position:fixed; inset:0; z-index:-1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; background:rgba(10,27,54,.97); backdrop-filter:blur(18px); opacity:0; visibility:hidden; transform:translateY(-12px); transition:.3s ease; }
  .at_nav.is-open { opacity:1; visibility:visible; transform:none; }
  .at_nav a { font-size:1.18rem; }
  .at_nav_toggle { z-index:2; }
  .at_hero { min-height:720px; height:95svh; }
  .at_hero_copy { width:92%; }
  .at_hero_title { font-size:clamp(3rem,9vw,5.6rem); }
  .at_scroll_cue { display:none; }
  .at_hero_controls { bottom:28px; width:calc(100% - 36px); gap:18px; }
  .at_slide_arrows { display:none; }
  .at_impact_shell { margin-top:-24px; }
  .at_impact_grid { grid-template-columns:1fr; }
  .at_stat { display:grid; grid-template-columns:48px auto 1fr; align-items:center; gap:15px; border-right:0; border-bottom:1px solid var(--at-line); padding:18px 10px; }
  .at_stat:last-child { border-bottom:0; }
  .at_stat_value { margin:0; }
  .at_stat p { margin:0; }
  .at_artwork_stage { margin:35px auto 0; }
  .at_process .at_section_heading { grid-template-columns:1fr; gap:25px; }
  .at_process_grid { grid-template-columns:1fr; }
  .at_process_card { min-height:360px; }
  .at_process_card h3 { margin-top:50px; }
  .at_gallery_head { display:block; }
  .at_filters { justify-content:flex-start; margin-top:24px; }
  .at_gallery_grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; }
  .at_gallery_card, .at_gallery_card.at_gallery_tall, .at_gallery_card.at_gallery_wide { grid-column:auto; grid-row:auto; min-height:460px; }
  .at_philosophy_grid { grid-template-columns:1fr; gap:10px; }
  .at_philosophy_mark { font-size:9rem; }
  .at_footer_top { grid-template-columns:1.2fr 1fr 1fr; }
  .at_newsletter { grid-column:1/-1; max-width:560px; }
  .at_lightbox_panel { grid-template-columns:1fr; width:min(760px,94vw); }
}
@media (max-width: 767.98px) {
  .at_section { padding:78px 0; }
  .at_header_inner { grid-template-columns:145px 1fr; }
  .at_hero { min-height:680px; height:92svh; }
  .at_hero_content { padding-top:95px; padding-bottom:130px; }
  .at_hero_copy { width:100%; }
  .at_hero_title { font-size:clamp(2.75rem,12vw,4.7rem); line-height:.94; }
  .at_hero_text { margin-top:22px; font-size:.96rem; }
  .at_hero_actions { align-items:flex-start; flex-direction:column; gap:20px; margin-top:28px; }
  .at_hero_controls { grid-template-columns:auto 1fr; }
  .at_slide_progress { gap:7px; }
  .at_impact { padding-bottom:20px; }
  .at_impact_shell { padding:18px; border-radius:20px; }
  .at_impact_intro { padding:10px; }
  .at_stat { grid-template-columns:42px auto; }
  .at_stat p { grid-column:2; }
  .at_stat_value strong { font-size:2.1rem; }
  .at_artwork_meta { display:block; }
  .at_artwork-meta .at_badge,.at_artwork_meta .at_badge { margin-bottom:12px; }
  .at_process_card { min-height:390px; padding:28px; }
  .at_process_detail { left:28px; right:28px; }
  .at_gallery_grid { grid-template-columns:1fr; }
  .at_gallery_card, .at_gallery_card.at_gallery_tall, .at_gallery_card.at_gallery_wide { min-height:500px; }
  .at_gallery_cta { opacity:1; transform:none; }
  .at_path_card { min-height:auto; }
  .at_cta_actions { flex-direction:column; }
  .at_footer_top { grid-template-columns:1fr 1fr; gap:38px 24px; }
  .at_footer_brand, .at_newsletter { grid-column:1/-1; }
  .at_footer_bottom { align-items:flex-start; flex-direction:column; }
  .at_lightbox { padding:14px; }
  .at_lightbox_caption { padding:28px 22px; }
}
@media (max-width: 575.98px) {
  .at_section h2, .at_cta h2, .at_path_card h2, .at_philosophy h2 { font-size:clamp(2.3rem,11vw,3.4rem); }
  .at_hero_controls { width:calc(100% - 28px); }
  .at_gallery_card, .at_gallery_card.at_gallery_tall, .at_gallery_card.at_gallery_wide { min-height:430px; }
  .at_footer_top { grid-template-columns:1fr; }
  .at_footer_brand, .at_newsletter { grid-column:auto; }
}

@media (hover: none), (pointer: coarse) {
  body:is(.home,.page-template-page-homepage) { cursor:auto; }
  .at_cursor { display:none !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .js .at_reveal { opacity:1 !important; transform:none !important; }
  .at_cursor { display:none !important; }
}


/* Dynamic content additions */
.at_rich_text { color: var(--at-muted); font-size: 1rem; line-height: 1.78; }
.at_rich_text p { margin: 0 0 1.1rem; }
.at_stat p small { display:block; margin-top:5px; color:var(--at-muted); font-size:.69rem; font-weight:600; line-height:1.35; }
.at_gallery_intro { max-width:720px; margin:18px 0 0; color:var(--at-muted); line-height:1.7; }
.at_programs { background:linear-gradient(180deg,#fff,#f8fafc); }
.at_info_card { height:100%; padding:clamp(32px,4vw,58px); border:1px solid var(--at-line); border-radius:var(--at-radius); background:#fff; box-shadow:0 18px 55px rgba(24,46,88,.08); }
.at_info_card h2 { font-size:clamp(2.2rem,3.5vw,4rem); margin-bottom:28px; }
.at_info_card_dark { color:#fff; background:linear-gradient(145deg,var(--at-navy),var(--at-navy-2)); border-color:rgba(255,255,255,.08); box-shadow:0 28px 75px rgba(10,29,58,.22); }
.at_info_card_dark h2,.at_info_card_dark .at_rich_text { color:#fff; }
.at_info_card_dark .at_rich_text { opacity:.82; }
.at_faq { background:#fff; }
.at_faq_heading { max-width:820px; margin-bottom:48px; }
.at_faq_list { max-width:980px; margin:0 auto; border-top:1px solid var(--at-line); }
.at_faq_item { border-bottom:1px solid var(--at-line); }
.at_faq_item summary { position:relative; display:grid; grid-template-columns:48px 1fr 28px; gap:16px; align-items:center; padding:26px 0; color:var(--at-navy); font-size:clamp(1rem,1.3vw,1.2rem); font-weight:750; cursor:pointer; list-style:none; }
.at_faq_item summary::-webkit-details-marker { display:none; }
.at_faq_item summary>span { color:var(--at-sky); font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.at_faq_item summary i,.at_faq_item summary i::after { display:block; width:16px; height:1px; background:var(--at-blue); transition:transform .25s ease; }
.at_faq_item summary i::after { content:""; transform:rotate(90deg); }
.at_faq_item[open] summary i::after { transform:rotate(0); }
.at_faq_item>div { padding:0 44px 28px 64px; color:var(--at-muted); line-height:1.78; }
.at_faq_item>div p { margin:0; }
.at_process_grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width: 991.98px){ .at_process_grid{grid-template-columns:1fr 1fr}.at_faq_item>div{padding-left:0;padding-right:0} }
@media (max-width: 767.98px){ .at_process_grid{grid-template-columns:1fr}.at_faq_item summary{grid-template-columns:34px 1fr 24px;gap:10px}.at_info_card{padding:30px 24px} }

.at_path_points{margin:18px 0 26px;padding:0;list-style:none;display:grid;gap:9px}.at_path_points li{position:relative;padding-left:22px;line-height:1.55}.at_path_points li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.55}.at_path_donor .at_path_points{color:rgba(255,255,255,.78)}.at_path_artist .at_path_points{color:var(--at-muted)}

/* ==========================================================
   ArtTruistic V3 base — image-rich editorial redesign + performance
   ========================================================== */

/* Faster, steadier media rendering. */
.at_site img { display:block; }
.at_gallery_card,
.at_process_story_card,
.at_path_visual,
.at_faq_visual_inner,
.at_philosophy_main,
.at_philosophy_detail { contain:layout paint; }

/* Hero now uses a real <img> so browser-native loading/fetch priority can work. */
.at_hero_media {
  width:108%;
  height:108%;
  object-fit:cover;
  object-position:center;
  background:none;
}

/* Compact scroll header. */
.at_header,
.at_header_inner,
.at_brand,
.at_brand img,
.at_header .at_btn,
.at_nav a { transition:all .28s cubic-bezier(.2,.7,.2,1); }
.at_brand { width:178px; }
.at_brand img { width:auto; max-width:100%; max-height:66px; object-fit:contain; }
.at_header.is-scrolled { padding-top:6px; padding-bottom:6px; background:rgba(12,28,55,.94); backdrop-filter:blur(14px) saturate(125%); }
.at_header.is-scrolled .at_header_inner { grid-template-columns:145px 1fr auto; gap:22px; }
.at_header.is-scrolled .at_brand { width:132px; }
.at_header.is-scrolled .at_brand img { max-height:44px; }
.at_header.is-scrolled .at_btn { min-height:42px; padding-left:19px; padding-right:19px; font-size:.71rem; }
.at_header.is-scrolled .at_nav a { font-size:.74rem; }

/* ----------------------------------------------------------
   A Different Approach to Giving — visual story cards
   ---------------------------------------------------------- */
.at_process { background:#0d203f; }
.at_process::before {
  background:
    radial-gradient(circle at 78% 12%,rgba(99,159,213,.18),transparent 32%),
    radial-gradient(circle at 8% 92%,rgba(30,109,181,.13),transparent 30%);
}
.at_process_story {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:22px;
  margin-top:58px;
}
.at_process_story_card {
  grid-column:span 6;
  display:grid;
  grid-template-rows:auto 1fr;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:30px;
  background:rgba(255,255,255,.045);
  box-shadow:0 20px 55px rgba(0,0,0,.12);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.at_process_story_card:hover {
  transform:translateY(-5px);
  border-color:rgba(99,159,213,.42);
  box-shadow:0 28px 70px rgba(0,0,0,.2);
}
.at_process_story_featured {
  grid-column:1/-1;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);
  grid-template-rows:1fr;
  min-height:470px;
}
.at_process_media {
  position:relative;
  min-height:245px;
  overflow:hidden;
  background:#18325e;
}
.at_process_story_featured .at_process_media { min-height:470px; }
.at_process_media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.at_process_story_card:hover .at_process_media img { transform:scale(1.035); }
.at_process_media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(8,24,48,.58));
  pointer-events:none;
}
.at_process_number {
  position:absolute;
  z-index:2;
  left:22px;
  bottom:20px;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:#fff;
  background:rgba(11,30,60,.45);
  backdrop-filter:blur(8px);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
}
.at_process_story_body {
  position:relative;
  display:flex;
  flex-direction:column;
  padding:34px 34px 30px;
}
.at_process_story_body .at_process_icon {
  width:52px;
  height:52px;
  margin-bottom:26px;
  border:1px solid rgba(99,159,213,.2);
  background:rgba(99,159,213,.08);
}
.at_process_story_body .at_process_icon svg { width:28px; }
.at_process_step_label {
  margin:0 0 9px !important;
  color:var(--at-sky) !important;
  font-size:.64rem !important;
  font-weight:800;
  letter-spacing:.15em;
}
.at_process_story_body h3 {
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.45rem,2.1vw,2.2rem);
  letter-spacing:-.035em;
}
.at_process_story_body > div > p:not(.at_process_step_label) {
  margin:0;
  color:rgba(255,255,255,.65);
  line-height:1.75;
}
.at_process_story_body .at_process_detail {
  position:static;
  margin-top:auto;
  padding-top:28px;
}

/* ----------------------------------------------------------
   Dynamic gallery — no artificial grid-row height
   ---------------------------------------------------------- */
.at_gallery_grid {
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:auto;
  align-items:start;
  gap:18px;
}
.at_gallery_card {
  grid-column:span 4;
  grid-row:auto !important;
  min-height:0 !important;
  aspect-ratio:4/3;
}
.at_gallery_card.at_gallery_tall { grid-column:span 4; aspect-ratio:4/5; }
.at_gallery_card.at_gallery_wide { grid-column:span 8; aspect-ratio:16/9; }
.at_gallery_grid[data-visible-count="1"] {
  grid-template-columns:minmax(0,900px);
  justify-content:center;
}
.at_gallery_grid[data-visible-count="1"] .at_gallery_card {
  grid-column:auto !important;
  width:100%;
  aspect-ratio:16/10;
}
.at_gallery_grid[data-visible-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.at_gallery_grid[data-visible-count="2"] .at_gallery_card {
  grid-column:auto !important;
  aspect-ratio:4/3;
}

/* ----------------------------------------------------------
   Donors / Artists — two distinct visual pathways
   ---------------------------------------------------------- */
.at_dual_path { padding-top:clamp(80px,8vw,130px); background:#fff; }
.at_dual_intro { max-width:900px; margin-bottom:48px; }
.at_dual_intro h2 {
  margin:0;
  color:var(--at-navy);
  font-size:clamp(2.6rem,4.5vw,5.15rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.at_dual_intro h2 em { color:var(--at-blue); font-family:var(--at-serif); font-weight:600; }
.at_path_visual_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.at_path_visual {
  overflow:hidden;
  border-radius:32px;
  box-shadow:0 24px 70px rgba(17,42,78,.11);
}
.at_path_visual.at_path_donor {
  color:#fff;
  background:linear-gradient(155deg,#11284f,#1b4f86);
}
.at_path_visual.at_path_donor::after { display:none; }
.at_path_visual.at_path_artist {
  color:var(--at-ink);
  border:1px solid var(--at-line);
  background:linear-gradient(180deg,#fff,#f4f8fb);
}
.at_path_media {
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dbe4ee;
}
.at_path_media img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.7,.2,1); }
.at_path_visual:hover .at_path_media img { transform:scale(1.04); }
.at_path_media_overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(8,24,48,.52)); }
.at_path_artist .at_path_media_overlay { background:linear-gradient(180deg,transparent 48%,rgba(13,32,63,.38)); }
.at_path_badge {
  position:absolute;
  left:24px;
  bottom:22px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  color:#fff;
  background:rgba(13,32,63,.32);
  backdrop-filter:blur(8px);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.16em;
}
.at_path_content { padding:clamp(32px,4vw,54px); }
.at_path_content h2 { font-size:clamp(2.25rem,3.5vw,4.2rem); }
.at_path_content .at_rich_text { margin-top:24px; }
.at_path_donor .at_path_content .at_rich_text,
.at_path_donor .at_path_content .at_rich_text p { color:rgba(255,255,255,.74); }
.at_path_artist .at_path_content .at_rich_text { color:var(--at-muted); }
.at_path_content .at_path_points { margin-top:24px; }

/* ----------------------------------------------------------
   Philosophy — editorial image composition
   ---------------------------------------------------------- */
.at_philosophy { overflow:hidden; background:linear-gradient(180deg,#f8fafc,#eef4f8); }
.at_philosophy_grid_v2 {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(48px,7vw,100px);
  align-items:center;
}
.at_philosophy_visual { position:relative; min-height:680px; }
.at_philosophy_main {
  position:absolute;
  inset:0 12% 8% 0;
  overflow:hidden;
  border-radius:34px;
  box-shadow:0 35px 85px rgba(22,48,84,.18);
}
.at_philosophy_main::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(11,29,57,.45)); }
.at_philosophy_main img { width:100%; height:100%; object-fit:cover; }
.at_philosophy_main .at_philosophy_mark {
  position:absolute;
  z-index:2;
  left:28px;
  bottom:-25px;
  color:#fff;
  font-size:11rem;
  line-height:.6;
  opacity:.85;
}
.at_philosophy_detail {
  position:absolute;
  right:0;
  bottom:0;
  z-index:3;
  width:42%;
  aspect-ratio:4/5;
  overflow:hidden;
  border:8px solid #f2f7fa;
  border-radius:25px;
  box-shadow:0 24px 55px rgba(20,43,77,.2);
}
.at_philosophy_detail img { width:100%; height:100%; object-fit:cover; }
.at_philosophy_copy { max-width:none; }
.at_philosophy_copy .at_rich_text { margin-top:28px; max-width:730px; }
.at_philosophy_points_v2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:34px; }
.at_philosophy_points_v2 > div {
  min-height:124px;
  padding:20px;
  border:1px solid rgba(24,46,88,.11);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 34px rgba(22,45,80,.06);
}
.at_philosophy_points_v2 span { color:var(--at-sky); font-size:.65rem; font-weight:800; letter-spacing:.13em; }
.at_philosophy_points_v2 p { margin:12px 0 0; color:var(--at-navy); font-size:.88rem; font-weight:700; line-height:1.55; }

/* ----------------------------------------------------------
   FAQ — two-column layout with image on the right
   ---------------------------------------------------------- */
.at_faq { background:#fff; }
.at_faq_heading { max-width:860px; }
.at_faq_layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:clamp(42px,6vw,84px);
  align-items:start;
}
.at_faq_list { max-width:none; margin:0; }
.at_faq_visual { position:sticky; top:104px; }
.at_faq_visual_inner {
  position:relative;
  min-height:610px;
  overflow:hidden;
  border-radius:30px;
  background:#dfe7ef;
  box-shadow:0 28px 75px rgba(19,44,80,.15);
}
.at_faq_visual_inner img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.at_faq_visual_overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,30,59,.05),rgba(12,30,59,.16) 45%,rgba(9,27,55,.9));
}
.at_faq_visual_copy {
  position:absolute;
  z-index:2;
  left:30px;
  right:30px;
  bottom:30px;
  padding:24px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:20px;
  color:#fff;
  background:rgba(12,30,59,.42);
  backdrop-filter:blur(10px);
}
.at_faq_visual_copy svg { width:38px; margin-bottom:16px; color:var(--at-sky); }
.at_faq_visual-copy p,.at_faq_visual_copy p { margin:0; color:#fff; font-family:var(--at-serif); font-size:clamp(1.3rem,2vw,1.75rem); font-style:italic; line-height:1.35; }

/* ----------------------------------------------------------
   Final CTA — image-backed parallax, transform-only animation
   ---------------------------------------------------------- */
.at_cta_parallax {
  min-height:680px;
  display:grid;
  align-items:center;
  isolation:isolate;
  background:#0d2345;
}
.at_cta_media {
  position:absolute;
  z-index:-3;
  inset:-9% 0;
  overflow:hidden;
}
.at_cta_media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.06);
}
.at_cta_overlay {
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(8,24,49,.93),rgba(10,31,62,.74) 52%,rgba(11,37,72,.7)),
    radial-gradient(circle at 75% 30%,rgba(99,159,213,.27),transparent 38%);
}
.at_cta_parallax .at_cta_inner { max-width:1060px; text-align:left; margin-left:0; }
.at_cta_parallax .at_cta_inner > p:not(.at_kicker) { margin-left:0; margin-right:0; max-width:720px; }
.at_cta_parallax .at_cta_actions { justify-content:flex-start; }

/* Reduced animation on below-fold imagery by default; interaction stays transform/opacity only. */
@media (prefers-reduced-motion:no-preference) and (min-width:992px) {
  .at_cta_media img { will-change:transform; }
}

/* V3 responsive refinements */
@media (max-width:1199.98px) {
  .at_process_story_featured { grid-template-columns:1.15fr .85fr; }
  .at_philosophy_visual { min-height:610px; }
  .at_faq_visual_inner { min-height:560px; }
}
@media (max-width:991.98px) {
  .at_header.is-scrolled { padding:7px 16px; }
  .at_header.is-scrolled .at_header_inner { grid-template-columns:128px 1fr auto; }
  .at_header.is-scrolled .at_brand { width:122px; }
  .at_header.is-scrolled .at_brand img { max-height:42px; }
  .at_process_story { grid-template-columns:1fr; }
  .at_process_story_card,
  .at_process_story_featured { grid-column:auto; grid-template-columns:1fr; min-height:0; }
  .at_process_story_featured .at_process_media,
  .at_process_media { min-height:330px; }
  .at_path_visual_grid { grid-template-columns:1fr; }
  .at_philosophy_grid_v2 { grid-template-columns:1fr; }
  .at_philosophy_visual { min-height:620px; max-width:760px; }
  .at_faq_layout { grid-template-columns:1fr; }
  .at_faq_visual { position:relative; top:auto; order:-1; }
  .at_faq_visual_inner { min-height:460px; }
  .at_cta_parallax { min-height:620px; }
  .at_cta_media { inset:0; }
  .at_cta_media img { transform:none !important; }
}
@media (max-width:767.98px) {
  .at_brand img { max-height:55px; }
  .at_process_story { margin-top:38px; }
  .at_process_story_featured .at_process_media,
  .at_process_media { min-height:260px; }
  .at_process_story_body { padding:28px 24px 25px; }
  .at_gallery_grid,
  .at_gallery_grid[data-visible-count="1"],
  .at_gallery_grid[data-visible-count="2"] { grid-template-columns:1fr; }
  .at_gallery_card,
  .at_gallery_card.at_gallery_tall,
  .at_gallery_card.at_gallery_wide,
  .at_gallery_grid[data-visible-count="1"] .at_gallery_card,
  .at_gallery_grid[data-visible-count="2"] .at_gallery_card { grid-column:auto !important; min-height:0 !important; aspect-ratio:4/3; }
  .at_path_visual { border-radius:24px; }
  .at_path_media { aspect-ratio:4/3; }
  .at_philosophy_visual { min-height:500px; }
  .at_philosophy_main { inset:0 8% 7% 0; border-radius:25px; }
  .at_philosophy_detail { width:40%; border-width:5px; }
  .at_philosophy_points_v2 { grid-template-columns:1fr; }
  .at_faq_visual_inner { min-height:390px; border-radius:24px; }
  .at_faq_visual_copy { left:18px; right:18px; bottom:18px; padding:20px; }
  .at_cta_parallax { min-height:650px; }
}
@media (max-width:575.98px) {
  .at_header { padding-left:12px; padding-right:12px; }
  .at_header_inner { grid-template-columns:130px 1fr; }
  .at_header.is-scrolled .at_header_inner { grid-template-columns:112px 1fr; }
  .at_header.is-scrolled .at_brand { width:108px; }
  .at_process_story_featured .at_process_media,
  .at_process_media { min-height:220px; }
  .at_philosophy_visual { min-height:430px; }
  .at_philosophy_main .at_philosophy_mark { font-size:8rem; left:18px; }
  .at_faq_visual_inner { min-height:340px; }
}

/* Graceful cursor fallback if animation CDN is unavailable. */
body:is(.home,.page-template-page-homepage) { cursor:auto; }
.at-cursor-enabled body:is(.home,.page-template-page-homepage) { cursor:none; }

/* V4.0.0 visual signature: image-rich editorial process. */
.at_process_story_card:nth-child(even):not(.at_process_story_featured) .at_process_media img { object-position:center 34%; }
.at_process_story_card:nth-child(odd):not(.at_process_story_featured) { transform:translateY(22px); }
.at_process_story_card:nth-child(odd):not(.at_process_story_featured):hover { transform:translateY(14px); }
.at_process_story_card::after {
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.at_process_story_featured .at_process_story_body {
  background:linear-gradient(155deg,rgba(255,255,255,.08),rgba(99,159,213,.035));
}

/* V4.0.0 donors/artists use intentionally different compositions. */
.at_path_donor .at_path_media { aspect-ratio:16/10; }
.at_path_artist .at_path_media { aspect-ratio:16/10; }
.at_path_donor .at_path_content { position:relative; }
.at_path_donor .at_path_content::before,
.at_path_artist .at_path_content::before { content:none !important; }
.at_path_artist .at_path_content { position:relative; }

/* Dynamic gallery must collapse to the actual filtered result count. */
.at_gallery_grid { grid-auto-flow:dense; min-height:0 !important; }
.at_gallery_card.is-hidden { display:none !important; }
.at_gallery_grid[data-visible-count="0"] { display:none; }

/* FAQ image treatment is intentionally prominent, not decorative filler. */
.at_faq_visual_inner::before {
  content:""; position:absolute; z-index:3; inset:16px; border:1px solid rgba(255,255,255,.25); border-radius:22px; pointer-events:none;
}

/* Mobile keeps visual depth while removing expensive fixed/parallax behavior. */
@media (max-width:991.98px), (prefers-reduced-motion:reduce) {
  .at_process_story_card:nth-child(odd):not(.at_process_story_featured),
  .at_process_story_card:nth-child(odd):not(.at_process_story_featured):hover { transform:none; }
  .at_cta_media img { transform:none !important; will-change:auto !important; }
}

/* ==========================================================
   ArtTruistic V4.0.0 — artistic, warm, donation-first system
   ========================================================== */
:root {
  --at-cream:#fbf6ef;
  --at-cream-2:#f4ecdf;
  --at-sand:#e7d7c5;
  --at-rose:#c98278;
  --at-clay:#ad654f;
  --at-sage:#748779;
  --at-gold:#b38d55;
  --at-charcoal:#222a30;
  --at-warm-ink:#3b302d;
  --at-warm-line:rgba(87,61,49,.14);
  --at-warm-shadow:0 24px 70px rgba(79,56,45,.13);
}

/* V4 keeps sections purposeful and reduces the oversized-page feeling. */
.at_section { padding:clamp(68px,6.8vw,112px) 0; }
.at_section h2, .at_path_card h2, .at_cta h2, .at_philosophy h2 { font-size:clamp(2.35rem,4.1vw,4.75rem); }

/* ----------------------------------------------------------
   Header: preserve the uploaded logo exactly — no recoloring.
   ---------------------------------------------------------- */
.at_header {
  padding:12px 22px;
  background:rgba(252,248,242,.91);
  border-bottom:1px solid rgba(81,64,56,.08);
  box-shadow:0 6px 30px rgba(41,34,31,.06);
  backdrop-filter:blur(16px) saturate(120%);
}
.at_header::before { display:none; }
.at_header_inner { grid-template-columns:190px 1fr auto; }
.at_header .at_brand img { filter:none !important; }
.at_header .at_nav a { color:rgba(29,44,67,.82); }
.at_header .at_nav a::after { background:linear-gradient(90deg,var(--at-blue),var(--at-rose)); }
.at_header .at_btn_ghost { color:var(--at-navy)!important; border-color:rgba(24,46,88,.17); background:rgba(255,255,255,.66); }
.at_header .at_btn_primary,
.at_hero .at_btn_primary {
  background:linear-gradient(135deg,var(--at-clay),var(--at-rose));
  box-shadow:0 14px 34px rgba(173,101,79,.24);
}
.at_header .at_btn_primary:hover,
.at_hero .at_btn_primary:hover { box-shadow:0 18px 42px rgba(173,101,79,.34); }
.at_header.is-scrolled {
  padding-top:5px;
  padding-bottom:5px;
  background:rgba(252,248,242,.97);
  border-bottom-color:rgba(81,64,56,.12);
  box-shadow:0 11px 40px rgba(48,37,31,.11);
}
.at_header.is-scrolled .at_nav a { color:rgba(24,46,88,.84); }
.at_header.is-scrolled .at_brand { width:124px; }
.at_header.is-scrolled .at_brand img { max-height:42px; filter:none!important; }
.at_header.is-scrolled .at_header_inner { grid-template-columns:136px 1fr auto; }

/* ----------------------------------------------------------
   Hero: edge-to-edge media, stronger donation story, no right cue.
   ---------------------------------------------------------- */
.at_hero { min-height:700px; height:100svh; max-height:980px; }
.at_hero_slider, .at_hero_slide { width:100%; height:100%; overflow:hidden; }
.at_hero_media {
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-width:100%;
  object-fit:cover!important;
  object-position:center;
  transform:scale(1.025);
}
.at_hero_scrim {
  background:
    linear-gradient(90deg,rgba(23,30,39,.88) 0%,rgba(24,35,51,.70) 42%,rgba(31,42,54,.24) 72%,rgba(31,42,54,.26) 100%),
    linear-gradient(0deg,rgba(29,26,25,.60),transparent 48%);
}
.at_hero_content { padding-top:120px; padding-bottom:112px; }
.at_hero_copy { width:min(800px,72vw); }
.at_hero_title { font-size:clamp(3.05rem,6.1vw,6.9rem); }
.at_hero_text { max-width:630px; margin-top:24px; }
.at_hero_actions { margin-top:30px; }
.at_hero_trust { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:24px; color:rgba(255,255,255,.62); font-size:.68rem; font-weight:700; letter-spacing:.04em; }
.at_hero_trust i { width:18px; height:1px; background:rgba(255,255,255,.35); }
.at_parallax_blob_one { background:radial-gradient(circle at 30% 30%,rgba(201,130,120,.45),transparent 66%); }
.at_parallax_blob_two { background:radial-gradient(circle at 50% 50%,rgba(179,141,85,.32),transparent 66%); }
.at_brushstroke { color:var(--at-rose); opacity:.72; }
.at_scroll_cue { display:none!important; }
.at_hero_controls { bottom:34px; }

/* ----------------------------------------------------------
   Persistent donation moment: transform/opacity-only animation.
   ---------------------------------------------------------- */
.at_donation_dock {
  position:fixed;
  z-index:990;
  right:22px;
  bottom:22px;
  width:min(360px,calc(100vw - 32px));
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,18px,0) scale(.98);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease;
  pointer-events:none;
}
.at_donation_dock.is-visible { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.at_donation_dock_link {
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  min-height:78px;
  padding:11px 12px 11px 11px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:22px;
  color:var(--at-charcoal)!important;
  background:rgba(255,250,244,.96);
  box-shadow:0 18px 55px rgba(70,46,37,.20);
  backdrop-filter:blur(16px) saturate(120%);
}
.at_donation_icon {
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,var(--at-clay),var(--at-rose));
  box-shadow:0 10px 24px rgba(173,101,79,.28);
}
.at_donation_icon svg { width:29px; }
.at_donation_dock_copy { min-width:0; display:grid; gap:3px; }
.at_donation_dock_copy small { color:var(--at-clay); font-size:.57rem; font-weight:800; letter-spacing:.12em; }
.at_donation_dock_copy strong { color:var(--at-warm-ink); font-size:.76rem; line-height:1.35; }
.at_donation_dock_cta { display:inline-flex; align-items:center; gap:7px; color:var(--at-navy); font-size:.7rem; font-weight:800; }
.at_donation_dock_cta svg { width:17px; }
.at_donation_orbit { position:absolute; z-index:-1; left:26px; top:39px; width:1px; height:1px; }
.at_donation_orbit span { position:absolute; left:0; top:0; width:72px; height:72px; margin:-36px; border:1px solid rgba(201,130,120,.36); border-radius:50%; opacity:0; }
@media (prefers-reduced-motion:no-preference) {
  .at_donation_dock.is-visible .at_donation_orbit span { animation:atDonateRipple 4.8s ease-out infinite; }
  .at_donation_dock.is-visible .at_donation_orbit span:nth-child(2){animation-delay:1.6s}
  .at_donation_dock.is-visible .at_donation_orbit span:nth-child(3){animation-delay:3.2s}
}
@keyframes atDonateRipple { 0%{transform:scale(.65);opacity:.46} 62%,100%{transform:scale(1.65);opacity:0} }

/* Warm planning strip instead of another blue block. */
.at_impact { background:var(--at-cream); padding-bottom:30px; }
.at_impact_shell { border-color:rgba(122,91,72,.12); background:rgba(255,252,248,.92); box-shadow:var(--at-warm-shadow); }
.at_impact_intro { border-right-color:var(--at-warm-line); }
.at_impact_intro .at_micro_label { color:var(--at-clay); }
.at_stat { border-right-color:var(--at-warm-line); }
.at_stat:nth-child(1) .at_stat_icon { color:var(--at-clay); }
.at_stat:nth-child(2) .at_stat_icon { color:var(--at-sage); }
.at_stat:nth-child(3) .at_stat_icon { color:var(--at-gold); }
.at_stat_value { color:var(--at-warm-ink); }

/* Mission / artwork gets warmth from the supplied painting instead of blue wash. */
.at_about { background:linear-gradient(180deg,var(--at-cream),#fff 72%); }
.at_about .at_kicker { color:var(--at-clay); }
.at_checklist span { color:var(--at-clay); background:rgba(201,130,120,.12); }
.at_artwork_glow { background:radial-gradient(circle,rgba(201,130,120,.25),rgba(179,141,85,.12) 42%,transparent 70%); }
.at_artwork_frame { border-color:rgba(179,141,85,.54); background:linear-gradient(145deg,#2a2d30,#493a34); box-shadow:0 36px 78px rgba(68,49,42,.20),inset 0 0 0 1px rgba(255,255,255,.07); }
.at_artwork_frame::before { border-color:rgba(231,215,197,.35); }

/* ----------------------------------------------------------
   A Different Approach to Giving — compact, editorial, image-first.
   ---------------------------------------------------------- */
.at_process { color:var(--at-warm-ink); background:linear-gradient(180deg,#f2e8db,#fbf7f1); }
.at_process::before { background:radial-gradient(circle at 88% 4%,rgba(201,130,120,.13),transparent 29%),radial-gradient(circle at 5% 100%,rgba(116,135,121,.10),transparent 32%); }
.at_process .at_kicker { color:var(--at-clay); }
.at_process h2 { color:var(--at-warm-ink); }
.at_process .at_section_heading { grid-template-columns:1.25fr .75fr; gap:54px; }
.at_process_intro > p { margin:0; color:#6f625d; line-height:1.7; }
.at_process_donate { display:inline-flex; align-items:center; gap:10px; margin-top:18px; color:var(--at-clay)!important; font-size:.76rem; font-weight:800; }
.at_process_donate svg { width:20px; }
.at_process_story { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-top:38px; }
.at_process_story_card,
.at_process_story_featured {
  grid-column:span 1;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  min-height:0;
  border-color:rgba(92,68,55,.11);
  border-radius:22px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 35px rgba(86,61,48,.07);
}
.at_process_story_featured { grid-column:span 2; }
.at_process_story_card:hover { transform:translateY(-3px); border-color:rgba(173,101,79,.30); box-shadow:0 18px 46px rgba(86,61,48,.12); }
.at_process_media { min-height:0!important; aspect-ratio:4/3; }
.at_process_story_featured .at_process_media { aspect-ratio:16/10; }
.at_process_media img { width:100%; height:100%; object-fit:cover; }
.at_process_number { background:rgba(255,249,241,.92); color:var(--at-clay); }
.at_process_story_body { padding:22px 20px 20px; }
.at_process_story_body .at_process_icon { width:43px; height:43px; border-radius:13px; color:var(--at-clay); background:rgba(201,130,120,.10); }
.at_process_story_body .at_process_icon svg { width:24px; }
.at_process_story_body h3 { color:var(--at-warm-ink); font-size:clamp(1rem,1.15vw,1.25rem); }
.at_process_story_body p { color:#74655f; font-size:.78rem; line-height:1.65; }
.at_process_step_label { color:var(--at-sage)!important; }
.at_process_detail { position:static; margin-top:18px; color:#9b8b82; font-size:.6rem; }
.at_process_detail span { background:var(--at-rose); }
.at_process_story_card:nth-child(odd):not(.at_process_story_featured),
.at_process_story_card:nth-child(odd):not(.at_process_story_featured):hover { transform:none; }
.at_process_story_card::after { box-shadow:inset 0 0 0 1px rgba(255,255,255,.45); }
.at_process_story_featured .at_process_story_body { background:linear-gradient(180deg,#fffaf5,#f7ece2); }

/* Gallery: artwork gets the attention; filters and CTA use warm accents. */
.at_gallery { background:#fff; }
.at_gallery .at_kicker { color:var(--at-sage); }
.at_filters button.is-active { color:#fff; border-color:var(--at-clay); background:var(--at-clay); }
.at_gallery_card { box-shadow:0 12px 38px rgba(48,39,35,.08); }
.at_gallery_badge { background:rgba(58,43,37,.32); }
.at_gallery_cta { color:#fff; background:var(--at-clay); }

/* Donor path gets strongest visual weight; artist path remains distinct but harmonious. */
.at_dual_path { background:var(--at-cream); }
.at_dual_intro .at_kicker { color:var(--at-clay); }
.at_path_visual.at_path_donor { color:#fff; background:linear-gradient(155deg,#252d33,#3b3230); }
.at_path_donor .at_path_media_overlay { background:linear-gradient(180deg,transparent 42%,rgba(36,31,29,.72)); }
.at_path_donor .at_btn_light { color:#fff!important; background:linear-gradient(135deg,var(--at-clay),var(--at-rose)); box-shadow:0 14px 32px rgba(173,101,79,.24); }
.at_path_visual.at_path_artist { border-color:rgba(83,94,83,.14); background:linear-gradient(180deg,#fbf8f1,#edf1e9); }
.at_path_artist .at_path_content::before { color:rgba(71,91,75,.055); }
.at_path_artist .at_btn_dark { background:var(--at-sage); }
.at_path_badge { border-color:rgba(255,255,255,.4); background:rgba(55,44,39,.34); }

/* ----------------------------------------------------------
   Planned programs + stewardship: donation-impact composition.
   ---------------------------------------------------------- */
.at_programs_v3 { background:#fff; }
.at_programs_v3_grid { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.55fr); gap:22px; align-items:stretch; }
.at_programs_compact { position:relative; overflow:hidden; padding:clamp(30px,3.2vw,48px); border:1px solid var(--at-warm-line); border-radius:28px; background:var(--at-cream); }
.at_programs_compact .at_programs_number { position:absolute; right:22px; top:10px; color:rgba(173,101,79,.08); font-family:var(--at-serif); font-size:8rem; font-weight:600; line-height:1; }
.at_programs_compact .at_kicker { color:var(--at-sage); }
.at_programs_compact h2 { max-width:480px; font-size:clamp(2rem,3vw,3.4rem); }
.at_programs_compact .at_rich_text { margin-top:24px; color:#776a64; }
.at_stewardship_story { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); overflow:hidden; border-radius:30px; background:var(--at-charcoal); box-shadow:var(--at-warm-shadow); }
.at_stewardship_media { position:relative; min-height:520px; overflow:hidden; }
.at_stewardship_media img { width:100%; height:100%; object-fit:cover; }
.at_stewardship_media_overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(31,31,29,.02),rgba(31,31,29,.25)); }
.at_stewardship_badge { position:absolute; left:22px; top:22px; padding:9px 12px; border:1px solid rgba(255,255,255,.34); border-radius:999px; color:#fff; background:rgba(34,30,28,.26); backdrop-filter:blur(8px); font-size:.61rem; font-weight:800; letter-spacing:.13em; }
.at_stewardship_content { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,4vw,58px); color:#fff; }
.at_stewardship_content .at_kicker { color:#e5b8ad; }
.at_stewardship_content h2 { color:#fff; font-size:clamp(2.2rem,3.5vw,4rem); }
.at_stewardship_content .at_rich_text { margin-top:24px; color:rgba(255,255,255,.72); }
.at_stewardship_content .at_rich_text p { color:inherit; }
.at_stewardship_action { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
.at_stewardship_action > span { color:rgba(255,255,255,.66); font-family:var(--at-serif); font-size:1.15rem; font-style:italic; line-height:1.35; }
.at_btn_warm { color:#fff!important; background:linear-gradient(135deg,var(--at-clay),var(--at-rose)); box-shadow:0 14px 32px rgba(173,101,79,.22); }

/* Philosophy moves away from blue toward an art-book composition. */
.at_philosophy { background:linear-gradient(180deg,#f1ede4,#f8f3eb); }
.at_philosophy .at_kicker { color:var(--at-clay); }
.at_philosophy_main { box-shadow:0 35px 85px rgba(74,56,47,.15); }
.at_philosophy_detail { border-color:#f3eadf; box-shadow:0 24px 55px rgba(78,58,48,.17); }
.at_philosophy_points_v2 > div { border-color:var(--at-warm-line); background:rgba(255,252,247,.84); box-shadow:0 12px 34px rgba(79,58,48,.05); }
.at_philosophy_points_v2 span { color:var(--at-clay); }
.at_philosophy_points_v2 p { color:var(--at-warm-ink); }

/* FAQ: clean ivory and warm image overlay. */
.at_faq { background:#fffdf9; }
.at_faq .at_kicker { color:var(--at-sage); }
.at_faq_item { border-bottom-color:var(--at-warm-line); }
.at_faq_item summary { color:var(--at-warm-ink); }
.at_faq_item summary > span { color:var(--at-clay); }
.at_faq_item summary i,.at_faq_item summary i::after { background:var(--at-clay); }
.at_faq_visual_overlay { background:linear-gradient(180deg,rgba(48,41,37,.03),rgba(48,41,37,.16) 45%,rgba(46,38,34,.90)); }
.at_faq_visual_copy { background:rgba(48,39,35,.44); }
.at_faq_visual_copy svg { color:#efb5a8; }

/* Final emotional CTA: navy remains a strategic anchor, warmed by rose/gold light. */
.at_cta_parallax { min-height:590px; background:#202a33; }
.at_cta_overlay { background:linear-gradient(90deg,rgba(25,31,38,.94),rgba(34,38,42,.76) 52%,rgba(55,43,39,.62)),radial-gradient(circle at 78% 26%,rgba(201,130,120,.32),transparent 38%); }
.at_cta_parallax .at_kicker { color:#efb5a8; }
.at_cta_parallax .at_btn_light { color:#fff!important; background:linear-gradient(135deg,var(--at-clay),var(--at-rose)); }

/* Footer remains the trusted dark brand anchor. */
.at_footer { background:#111f37; }

@media (max-width:1199.98px) {
  .at_process_story { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .at_process_story_featured { grid-column:span 2; }
  .at_process_story_card { grid-column:span 1; }
  .at_programs_v3_grid { grid-template-columns:.72fr 1.28fr; }
  .at_stewardship_story { grid-template-columns:.82fr 1.18fr; }
}
@media (max-width:991.98px) {
  .at_header { padding:8px 16px; }
  .at_header_inner { grid-template-columns:142px 1fr auto; }
  .at_header .at_brand { width:138px; }
  .at_header .at_brand img { max-height:52px; }
  .at_header.is-scrolled { padding:5px 14px; }
  .at_header.is-scrolled .at_header_inner { grid-template-columns:112px 1fr auto; }
  .at_header.is-scrolled .at_brand { width:106px; }
  .at_hero_content { padding-top:104px; }
  .at_process .at_section_heading { grid-template-columns:1fr; gap:22px; }
  .at_process_story { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .at_process_story_featured,.at_process_story_card { grid-column:span 1; }
  .at_process_story_featured .at_process_media,.at_process_media { min-height:0!important; }
  .at_programs_v3_grid { grid-template-columns:1fr; }
  .at_stewardship_story { grid-template-columns:1fr 1fr; }
  .at_stewardship_media { min-height:440px; }
  .at_cta_parallax { min-height:560px; }
}
@media (max-width:767.98px) {
  .at_section { padding:64px 0; }
  .at_hero { min-height:690px; height:100svh; }
  .at_hero_copy { width:100%; }
  .at_hero_title { font-size:clamp(2.75rem,12vw,4.7rem); }
  .at_hero_text { font-size:.94rem; line-height:1.65; }
  .at_hero_trust { gap:8px; font-size:.61rem; }
  .at_hero_trust i { width:11px; }
  .at_hero_controls { bottom:22px; }
  .at_donation_dock { right:12px; bottom:12px; width:68px; }
  .at_donation_dock_link { display:block; width:68px; min-height:68px; padding:7px; border-radius:22px; }
  .at_donation_icon { width:54px; height:54px; }
  .at_donation_dock_copy,.at_donation_dock_cta { display:none; }
  .at_donation_orbit { left:34px; top:34px; }
  .at_impact_shell { margin-top:-34px; }
  .at_process_story { grid-template-columns:1fr; gap:14px; }
  .at_process_story_card,.at_process_story_featured { grid-column:auto; }
  .at_process_media,.at_process_story_featured .at_process_media { aspect-ratio:16/9; }
  .at_stewardship_story { grid-template-columns:1fr; }
  .at_stewardship_media { min-height:320px; }
  .at_stewardship_action { grid-template-columns:1fr; }
  .at_programs_compact .at_programs_number { font-size:6.5rem; }
  .at_cta_parallax { min-height:520px; }
}
@media (max-width:575.98px) {
  .at_header_inner { grid-template-columns:118px 1fr; }
  .at_header .at_brand { width:116px; }
  .at_header .at_brand img { max-height:48px; }
  .at_header.is-scrolled .at_header_inner { grid-template-columns:96px 1fr; }
  .at_header.is-scrolled .at_brand { width:94px; }
  .at_hero_content { padding-top:88px; padding-bottom:95px; }
  .at_hero_actions { gap:14px; align-items:flex-start; flex-direction:column; }
  .at_hero_controls { width:calc(100% - 24px); gap:14px; }
  .at_slide_arrows { display:none; }
  .at_programs_compact,.at_stewardship_content { padding:28px 24px; }
}
@media (prefers-reduced-motion:reduce) {
  .at_donation_orbit { display:none; }
  .at_donation_dock,.at_donation_dock_link { transition:none; }
}

/* V4 mobile navigation contrast with the light glass header. */
.at_header .at_nav_toggle { border-color:rgba(24,46,88,.18); background:rgba(255,255,255,.72); }
.at_header .at_nav_toggle span { background:var(--at-navy); }
@media (max-width:991.98px) {
  .at_header .at_nav.is-open { background:rgba(25,31,38,.98); }
  .at_header .at_nav.is-open a { color:#fff; }
  .at_header .at_nav.is-open a::after { background:var(--at-rose); }
}

/* ==========================================================
   ArtTruistic V4.0.0 — brand-balanced, donation-forward UX
   ========================================================== */
:root {
  --at-v4-paper:#fffdf8;
  --at-v4-cream:#f7f2e9;
  --at-v4-mist:#eef5fb;
  --at-v4-blue-soft:#dcecf8;
  --at-v4-rose:#d58a82;
  --at-v4-gold:#c7a15c;
  --at-v4-ink:#172842;
  --at-v4-muted:#647084;
}

/* Keep the exact logo colors visible and let the two logo blues lead the UI again. */
.at_header { background:rgba(255,253,248,.94); border-bottom-color:rgba(24,46,88,.09); }
.at_header .at_brand img,
.at_footer_brand img { filter:none !important; opacity:1 !important; mix-blend-mode:normal !important; }
.at_header .at_nav a { color:rgba(24,46,88,.86); }
.at_header .at_nav a::after { background:linear-gradient(90deg,var(--at-blue),var(--at-sky)); }
.at_header .at_btn_primary,
.at_hero .at_btn_primary,
.at_paths_donation_moment .at_btn_primary,
.at_path_donor .at_btn_primary {
  color:#fff !important;
  background:linear-gradient(135deg,var(--at-blue),var(--at-sky));
  box-shadow:0 14px 34px rgba(30,109,181,.25);
}
.at_header .at_btn_primary:hover,
.at_hero .at_btn_primary:hover,
.at_paths_donation_moment .at_btn_primary:hover,
.at_path_donor .at_btn_primary:hover { box-shadow:0 18px 40px rgba(30,109,181,.34); }
.at_header.is-scrolled { background:rgba(255,253,248,.98); border-bottom-color:rgba(24,46,88,.12); }

/* ----------------------------------------------------------
   Hero: keep all controls and CTAs inside the viewport.
   ---------------------------------------------------------- */
.at_hero { min-height:680px; height:100dvh; max-height:none; }
.at_hero_content { padding-top:clamp(112px,14vh,160px); padding-bottom:clamp(150px,19vh,205px); }
.at_hero_copy { width:min(860px,74vw); }
.at_hero_title { font-size:clamp(2.85rem,5.7vw,6.55rem); line-height:.92; }
.at_hero_text { margin-top:22px; }
.at_hero_actions { margin-top:26px; }
.at_hero_controls {
  left:max(18px,env(safe-area-inset-left));
  right:max(18px,env(safe-area-inset-right));
  bottom:max(24px,env(safe-area-inset-bottom));
  width:auto;
  max-width:1540px;
  margin-inline:auto;
  transform:none;
}
.at_slide_arrows { min-width:106px; justify-content:flex-end; }
.at_circle_btn { flex:0 0 48px; }
@media (max-height:820px) and (min-width:768px) {
  .at_hero_content { padding-top:105px; padding-bottom:122px; }
  .at_hero_title { font-size:clamp(2.55rem,5.2vw,5.15rem); }
  .at_hero_text { max-width:610px; margin-top:16px; font-size:.96rem; line-height:1.6; }
  .at_hero_actions { margin-top:18px; }
  .at_hero_trust { margin-top:15px; }
  .at_btn_lg { min-height:52px; padding-inline:25px; }
  .at_hero_controls { bottom:16px; }
}
@media (max-height:690px) and (min-width:992px) {
  .at_hero_content { padding-top:92px; padding-bottom:100px; }
  .at_hero_title { font-size:clamp(2.35rem,4.7vw,4.45rem); }
  .at_hero_text { margin-top:12px; font-size:.9rem; }
  .at_hero_actions { margin-top:14px; }
  .at_hero_trust { margin-top:12px; }
  .at_hero_controls { bottom:10px; }
}

/* ----------------------------------------------------------
   Floating donation heartbeat — persistent but tasteful.
   ---------------------------------------------------------- */
.at_donation_dock { width:min(405px,calc(100vw - 30px)); right:18px; bottom:18px; }
.at_donation_dock_link {
  grid-template-columns:70px minmax(0,1fr) auto;
  min-height:92px;
  gap:14px;
  padding:10px 13px 10px 10px;
  border:1px solid rgba(30,109,181,.18);
  border-radius:28px;
  background:rgba(255,253,248,.97);
  box-shadow:0 20px 58px rgba(24,46,88,.20);
}
.at_donation_heart {
  position:relative;
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  border-radius:23px;
  color:#fff;
  background:linear-gradient(145deg,var(--at-navy),var(--at-blue) 62%,var(--at-sky));
  box-shadow:0 12px 30px rgba(30,109,181,.30);
  overflow:visible;
}
.at_donation_heart svg { width:43px; height:43px; overflow:visible; }
.at_donation_heart_shape { fill:rgba(255,255,255,.10); stroke:#fff; stroke-width:2; }
.at_donation_heartbeat { fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:46; stroke-dashoffset:46; }
.at_donation_heart_label { position:absolute; right:-7px; bottom:-7px; padding:5px 7px; border:2px solid #fff; border-radius:999px; color:var(--at-navy); background:var(--at-v4-gold); font-size:.52rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 5px 14px rgba(24,46,88,.16); }
.at_donation_heart_ring { position:absolute; inset:-2px; border:1px solid rgba(99,159,213,.46); border-radius:25px; opacity:0; pointer-events:none; }
.at_donation_dock_copy { gap:2px; }
.at_donation_dock_copy small { color:var(--at-blue); font-size:.56rem; letter-spacing:.14em; }
.at_donation_dock_copy strong { color:var(--at-navy); font-size:.83rem; line-height:1.25; }
.at_donation_dock_copy em { color:#6e7785; font-family:var(--at-serif); font-size:.78rem; font-style:italic; line-height:1.2; }
.at_donation_dock_cta { color:var(--at-blue); white-space:nowrap; }
.at_donation_orbit { display:none!important; }
@media (prefers-reduced-motion:no-preference) {
  .at_donation_dock.is-visible .at_donation_heart { animation:atHeartLift 4.4s ease-in-out infinite; }
  .at_donation_dock.is-visible .at_donation_heartbeat { animation:atHeartLine 2.6s ease-in-out infinite; }
  .at_donation_dock.is-visible .at_donation_heart_ring_one { animation:atHeartRing 3.8s ease-out infinite; }
  .at_donation_dock.is-visible .at_donation_heart_ring_two { animation:atHeartRing 3.8s 1.9s ease-out infinite; }
}
@keyframes atHeartLift { 0%,82%,100%{transform:translateY(0) scale(1)} 86%{transform:translateY(-3px) scale(1.04)} 90%{transform:translateY(0) scale(.98)} 94%{transform:translateY(-2px) scale(1.03)} }
@keyframes atHeartLine { 0%,18%{stroke-dashoffset:46;opacity:.25} 42%,68%{stroke-dashoffset:0;opacity:1} 88%,100%{stroke-dashoffset:-46;opacity:.2} }
@keyframes atHeartRing { 0%{transform:scale(.92);opacity:.42} 72%,100%{transform:scale(1.45);opacity:0} }

/* Brand-balanced planning strip: blue returns as an accent, not a wash. */
.at_impact { background:linear-gradient(180deg,var(--at-v4-mist),var(--at-v4-paper)); }
.at_impact_shell { background:rgba(255,255,255,.94); border-color:rgba(30,109,181,.12); box-shadow:0 24px 70px rgba(24,46,88,.09); }
.at_impact_intro { border-right-color:rgba(30,109,181,.14); }
.at_impact_intro .at_micro_label { color:var(--at-blue); }
.at_stat { border-right-color:rgba(30,109,181,.12); }
.at_stat:nth-child(1) .at_stat_icon { color:var(--at-blue); }
.at_stat:nth-child(2) .at_stat_icon { color:var(--at-sky); }
.at_stat:nth-child(3) .at_stat_icon { color:var(--at-v4-gold); }
.at_stat_value { color:var(--at-navy); }

/* Mission keeps the painting warmth but reconnects to both logo blues. */
.at_about { background:linear-gradient(180deg,var(--at-v4-paper),#fff 74%); }
.at_about .at_kicker { color:var(--at-blue); }
.at_checklist span { color:var(--at-blue); background:rgba(99,159,213,.13); }
.at_artwork_glow { background:radial-gradient(circle,rgba(99,159,213,.20),rgba(30,109,181,.10) 40%,rgba(201,130,120,.08) 58%,transparent 72%); }
.at_artwork_frame { border-color:rgba(99,159,213,.48); }

/* ----------------------------------------------------------
   A Different Approach to Giving — pinned two-up scroll story.
   ---------------------------------------------------------- */
.at_process { overflow:clip; color:var(--at-v4-ink); background:linear-gradient(180deg,var(--at-v4-mist) 0%,#f8fbfd 54%,var(--at-v4-paper) 100%); }
.at_process::before { background:radial-gradient(circle at 84% 5%,rgba(99,159,213,.20),transparent 31%),radial-gradient(circle at 8% 88%,rgba(201,130,120,.08),transparent 34%); }
.at_process .at_kicker { color:var(--at-blue); }
.at_process h2 { color:var(--at-navy); }
.at_process .at_section_heading { position:relative; z-index:2; grid-template-columns:1.2fr .8fr; gap:52px; }
.at_process_intro > p,
.at_process .at_section_heading p,
.at_process_copy { color:#5d6b7d !important; }
.at_process_intro > p { margin:0; line-height:1.72; }
.at_process_donate { color:var(--at-blue)!important; }
.at_process_pin { position:relative; z-index:2; margin-top:40px; }
.at_process_viewport { position:relative; overflow:hidden; border-radius:32px; }
.at_process_track { display:flex; gap:18px; width:max-content; will-change:transform; padding:2px 2px 54px; }
.at_process_slide {
  flex:0 0 min(47vw,660px);
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  min-height:410px;
  overflow:hidden;
  border:1px solid rgba(30,109,181,.14);
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 55px rgba(24,46,88,.10);
}
.at_process_slide:nth-child(even) { background:linear-gradient(150deg,#fff,var(--at-v4-mist)); }
.at_process_slide:nth-child(3n) { border-color:rgba(199,161,92,.24); }
.at_process_media { position:relative; min-height:100%!important; aspect-ratio:auto!important; overflow:hidden; background:#dce7f0; }
.at_process_media img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.at_process_slide:hover .at_process_media img { transform:scale(1.035); }
.at_process_media_tint { position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(12,32,60,.50)); }
.at_process_number { left:18px; top:18px; color:var(--at-navy); background:rgba(255,255,255,.92); box-shadow:0 8px 22px rgba(24,46,88,.12); }
.at_process_story_body { display:flex; flex-direction:column; justify-content:center; padding:34px; }
.at_process_story_body .at_process_icon { width:48px; height:48px; border-radius:14px; color:var(--at-blue); background:rgba(99,159,213,.13); }
.at_process_story_body .at_process_icon svg { width:26px; }
.at_process_step_label { margin:22px 0 7px; color:var(--at-sky)!important; font-size:.64rem; font-weight:800; letter-spacing:.14em; }
.at_process_story_body h3 { margin:0 0 12px; color:var(--at-navy); font-size:clamp(1.55rem,2.2vw,2.45rem); line-height:1.02; letter-spacing:-.04em; }
.at_process_story_body .at_process_copy { margin:0; font-size:.88rem; line-height:1.72; }
.at_process_detail { position:static; margin-top:auto; padding-top:22px; color:#7d8a9a; font-size:.62rem; }
.at_process_detail span { background:linear-gradient(90deg,var(--at-blue),var(--at-sky)); }
.at_process_scroll_ui { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; margin-top:-34px; padding:0 8px 4px; color:#7a8796; font-size:.6rem; font-weight:800; letter-spacing:.11em; }
.at_process_scroll_line { height:2px; overflow:hidden; background:rgba(24,46,88,.10); }
.at_process_scroll_line i { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--at-blue),var(--at-sky)); }
.at_process_scroll_ui strong { color:var(--at-navy); font-size:.68rem; }
.at_process_scroll_ui b { color:var(--at-blue); }

/* Gallery keeps the artwork visually dominant; blue is used for interaction. */
.at_gallery { background:#fff; }
.at_gallery .at_kicker { color:var(--at-blue); }
.at_filters button.is-active { border-color:var(--at-blue); background:var(--at-blue); }
.at_gallery_cta { background:linear-gradient(135deg,var(--at-blue),var(--at-sky)); }

/* ----------------------------------------------------------
   Give quietly. Keep creativity moving. — redesigned journey.
   ---------------------------------------------------------- */
.at_dual_path_v4 { background:linear-gradient(180deg,var(--at-v4-paper),var(--at-v4-mist)); }
.at_dual_path_v4 .at_dual_intro { display:grid; grid-template-columns:1.15fr .65fr; gap:70px; align-items:end; max-width:none; margin-bottom:28px; }
.at_dual_path_v4 .at_dual_intro .at_kicker { color:var(--at-blue); }
.at_dual_path_v4 .at_dual_intro h2 { max-width:860px; color:var(--at-navy); }
.at_dual_intro_copy { margin:0; color:var(--at-v4-muted); font-size:1rem; line-height:1.75; }
.at_kindness_bridge { display:grid; grid-template-columns:1fr 62px 1fr; align-items:center; gap:14px; margin:0 0 18px; color:var(--at-blue); font-size:.62rem; font-weight:900; letter-spacing:.18em; text-align:center; }
.at_kindness_bridge::before,.at_kindness_bridge::after { content:""; height:1px; background:linear-gradient(90deg,transparent,rgba(30,109,181,.28),transparent); }
.at_kindness_bridge > span { display:none; }
.at_kindness_bridge i { display:grid; place-items:center; width:62px; height:62px; margin:auto; border:1px solid rgba(30,109,181,.15); border-radius:50%; color:var(--at-blue); background:#fff; box-shadow:0 10px 28px rgba(24,46,88,.08); }
.at_kindness_bridge svg { width:27px; }
.at_path_visual_grid_v4 { display:grid; grid-template-columns:1fr; gap:18px; }
.at_path_visual_grid_v4 .at_path_visual { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); min-height:0; overflow:hidden; border-radius:30px; box-shadow:0 22px 64px rgba(24,46,88,.11); }
.at_path_visual_grid_v4 .at_path_visual.at_path_donor { color:#fff; background:linear-gradient(145deg,var(--at-navy),#173e6d 58%,var(--at-blue)); }
.at_path_visual_grid_v4 .at_path_visual.at_path_artist { grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); color:var(--at-v4-ink); border:1px solid rgba(30,109,181,.11); background:linear-gradient(145deg,#fff,var(--at-v4-mist)); }
.at_path_visual_grid_v4 .at_path_media { min-height:440px; aspect-ratio:auto; }
.at_path_visual_grid_v4 .at_path_donor .at_path_media_overlay { background:linear-gradient(180deg,transparent 48%,rgba(14,35,66,.60)); }
.at_path_visual_grid_v4 .at_path_artist .at_path_media_overlay { background:linear-gradient(180deg,transparent 50%,rgba(24,46,88,.50)); }
.at_path_visual_grid_v4 .at_path_content { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,4vw,58px); }
.at_path_visual_grid_v4 .at_path_content h2 { font-size:clamp(2rem,3.2vw,3.75rem); }
.at_path_visual_grid_v4 .at_path_content .at_rich_text { margin-top:18px; }
.at_path_visual_grid_v4 .at_path_content .at_rich_text p { font-size:.91rem; line-height:1.68; }
.at_path_visual_grid_v4 .at_path_points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; margin:20px 0 26px; padding:0; list-style:none; }
.at_path_visual_grid_v4 .at_path_points li { position:relative; padding-left:18px; font-size:.74rem; line-height:1.5; }
.at_path_visual_grid_v4 .at_path_points li::before { content:""; position:absolute; left:0; top:.58em; width:7px; height:7px; border-radius:50%; background:var(--at-sky); }
.at_path_visual_grid_v4 .at_path_artist .at_path_points li::before { background:var(--at-v4-gold); }
.at_path_image_note { position:absolute; left:22px; right:22px; bottom:22px; display:grid; gap:3px; padding:14px 16px; border:1px solid rgba(255,255,255,.24); border-radius:16px; color:#fff; background:rgba(16,36,68,.30); backdrop-filter:blur(8px); }
.at_path_image_note strong { font-size:.78rem; }
.at_path_image_note span { color:rgba(255,255,255,.74); font-size:.67rem; }
.at_path_badge { top:20px; bottom:auto; }
.at_paths_donation_moment { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:18px; padding:24px 28px; border:1px solid rgba(30,109,181,.13); border-radius:24px; background:#fff; box-shadow:0 14px 38px rgba(24,46,88,.07); }
.at_paths_donation_moment div { display:grid; gap:4px; }
.at_paths_donation_moment span { color:var(--at-blue); font-size:.62rem; font-weight:900; letter-spacing:.16em; }
.at_paths_donation_moment strong { color:var(--at-navy); font-family:var(--at-serif); font-size:clamp(1.15rem,2vw,1.7rem); font-style:italic; font-weight:600; }

/* Planned stewardship: preserve the premium composition, return blue to the trust layer. */
.at_programs_v3 { background:#fff; }
.at_programs_compact { border-color:rgba(30,109,181,.12); background:var(--at-v4-paper); }
.at_programs_compact .at_kicker { color:var(--at-blue); }
.at_programs_compact .at_programs_number { color:rgba(30,109,181,.055); }
.at_stewardship_story { background:linear-gradient(145deg,var(--at-navy),#102540 60%,#173c67); box-shadow:0 24px 68px rgba(24,46,88,.18); }
.at_stewardship_content .at_kicker { color:var(--at-sky); }
.at_stewardship_badge { border-color:rgba(255,255,255,.30); background:rgba(30,109,181,.22); }
.at_btn_warm { background:linear-gradient(135deg,var(--at-blue),var(--at-sky)); box-shadow:0 14px 32px rgba(30,109,181,.25); }

/* Philosophy / FAQ use quiet neutral surfaces with logo-blue structure. */
.at_philosophy { background:linear-gradient(180deg,var(--at-v4-cream),#fff); }
.at_philosophy .at_kicker { color:var(--at-blue); }
.at_philosophy_points_v2 > div { border-color:rgba(30,109,181,.11); background:rgba(255,255,255,.88); }
.at_philosophy_points_v2 span { color:var(--at-blue); }
.at_philosophy_points_v2 p { color:var(--at-v4-ink); }
.at_faq { background:linear-gradient(180deg,#fff,var(--at-v4-mist)); }
.at_faq .at_kicker { color:var(--at-blue); }
.at_faq_item { border-bottom-color:rgba(30,109,181,.12); }
.at_faq_item summary { color:var(--at-navy); }
.at_faq_item summary > span { color:var(--at-blue); }
.at_faq_item summary i,.at_faq_item summary i::after { background:var(--at-sky); }

/* Final CTA uses brand navy with restrained artwork warmth. */
.at_cta_parallax { background:var(--at-navy); }
.at_cta_overlay { background:linear-gradient(90deg,rgba(14,31,59,.95),rgba(24,46,88,.76) 54%,rgba(30,109,181,.34)),radial-gradient(circle at 82% 24%,rgba(201,130,120,.20),transparent 35%); }
.at_cta_parallax .at_kicker { color:var(--at-sky); }
.at_cta_parallax .at_btn_light { color:#fff!important; background:linear-gradient(135deg,var(--at-blue),var(--at-sky)); }

@media (max-width:1199.98px) {
  .at_process_slide { flex-basis:min(64vw,620px); }
  .at_dual_path_v4 .at_dual_intro { gap:42px; }
}
@media (max-width:991.98px) {
  .at_hero_content { padding-top:100px; padding-bottom:132px; }
  .at_hero_controls { left:16px; right:16px; }
  .at_process .at_section_heading { grid-template-columns:1fr; gap:20px; }
  .at_process_pin { margin-top:30px; }
  .at_process_viewport { overflow-x:auto; overflow-y:hidden; scrollbar-width:none; scroll-snap-type:x mandatory; border-radius:0; margin-inline:-12px; padding-inline:12px; }
  .at_process_viewport::-webkit-scrollbar { display:none; }
  .at_process_track { transform:none!important; padding-bottom:24px; }
  .at_process_slide { flex:0 0 78vw; min-height:390px; scroll-snap-align:start; }
  .at_process_scroll_ui { margin-top:0; }
  .at_dual_path_v4 .at_dual_intro { grid-template-columns:1fr; gap:18px; }
  .at_path_visual_grid_v4 .at_path_visual,
  .at_path_visual_grid_v4 .at_path_visual.at_path_artist { grid-template-columns:1fr; }
  .at_path_visual_grid_v4 .at_path_artist .at_path_content { order:2; }
  .at_path_visual_grid_v4 .at_path_artist .at_path_media { order:1; }
  .at_path_visual_grid_v4 .at_path_media { min-height:360px; }
}
@media (max-width:767.98px) {
  .at_hero { min-height:650px; }
  .at_hero_content { padding-top:86px; padding-bottom:118px; }
  .at_hero_title { font-size:clamp(2.45rem,11.2vw,4.15rem); }
  .at_hero_actions { margin-top:20px; }
  .at_hero_controls { bottom:12px; grid-template-columns:auto 1fr; gap:12px; }
  .at_slide_counter { font-size:.68rem; }
  .at_donation_dock { right:10px; bottom:10px; width:76px; }
  .at_donation_dock_link { display:block; width:76px; min-height:76px; padding:3px; border-radius:25px; }
  .at_donation_heart { width:68px; height:68px; border-radius:22px; }
  .at_donation_dock_copy,.at_donation_dock_cta { display:none; }
  .at_process_slide { flex-basis:86vw; grid-template-columns:1fr; min-height:0; }
  .at_process_media { min-height:250px!important; aspect-ratio:16/10!important; }
  .at_process_story_body { padding:26px; }
  .at_process_scroll_ui { grid-template-columns:auto 1fr; }
  .at_process_scroll_ui strong { display:none; }
  .at_path_visual_grid_v4 .at_path_media { min-height:300px; }
  .at_path_visual_grid_v4 .at_path_content { padding:28px 24px; }
  .at_path_visual_grid_v4 .at_path_points { grid-template-columns:1fr; }
  .at_paths_donation_moment { align-items:flex-start; flex-direction:column; padding:22px; }
}
@media (max-width:575.98px) {
  .at_hero_actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 16px; }
  .at_hero .at_btn_lg { min-height:48px; padding-inline:20px; font-size:.72rem; }
  .at_hero .at_text_link { font-size:.76rem; }
  .at_hero_trust { display:none; }
  .at_hero_controls { left:12px; right:12px; width:auto; }
  .at_process_slide { flex-basis:90vw; }
}
@media (prefers-reduced-motion:reduce) {
  .at_donation_heart,.at_donation_heartbeat,.at_donation_heart_ring { animation:none!important; }
  .at_process_track { transform:none!important; }
}

/* Native fallback when GSAP/ScrollTrigger is unavailable or motion is reduced. */
.at_process_native .at_process_viewport { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:rgba(30,109,181,.35) transparent; scroll-snap-type:x mandatory; }
.at_process_native .at_process_track { transform:none!important; }
.at_process_native .at_process_slide { scroll-snap-align:start; }
.at_process_native .at_process_viewport::-webkit-scrollbar { height:5px; }
.at_process_native .at_process_viewport::-webkit-scrollbar-thumb { background:rgba(30,109,181,.30); border-radius:999px; }

/* ScrollTrigger pin safety: the viewport itself clips horizontal cards, not the section. */
.at_process { overflow:visible; }

/* ==========================================================
   ArtTruistic V5.0.0 — locked V4 design, targeted refinements
   ========================================================== */

/* Footer: white logo and balanced three-part bottom row. */
.at_footer_brand img {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
.at_footer_bottom {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:20px;
}
.at_footer_bottom .at_footer_copyright { justify-self:start; }
.at_footer_bottom .at_footer_credit { justify-self:center; text-align:center; color:rgba(255,255,255,.68); }
.at_footer_bottom .at_footer_credit a {
  color:#fff;
  font-weight:800;
  text-decoration:none;
  transition:color .25s ease, opacity .25s ease;
}
.at_footer_bottom .at_footer_credit a:hover { color:var(--at-sky); }
.at_footer_bottom .at_footer_legal { justify-self:end; }

/* Floating donation CTA: glassmorphism lets page content remain visually present. */
.at_donation_dock_link {
  border-color:rgba(255,255,255,.46);
  background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(248,250,252,.43));
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  backdrop-filter:blur(18px) saturate(145%);
  box-shadow:0 18px 46px rgba(24,46,88,.16), inset 0 1px 0 rgba(255,255,255,.66);
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
  .at_donation_dock_link { background:rgba(248,250,252,.88); }
}

/* Hero navigation: move arrows/progress safely above the viewport edge. */
.at_hero_controls {
  bottom:max(54px,calc(env(safe-area-inset-bottom) + 32px));
}
.at_circle_btn {
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
@media (max-height:820px) and (min-width:768px) {
  .at_hero_controls { bottom:max(38px,calc(env(safe-area-inset-bottom) + 24px)); }
}
@media (max-height:690px) and (min-width:992px) {
  .at_hero_controls { bottom:max(30px,calc(env(safe-area-inset-bottom) + 20px)); }
}
@media (max-width:767.98px) {
  .at_hero_controls { bottom:max(34px,calc(env(safe-area-inset-bottom) + 22px)); }
}

/* Artist/applicant CTA now uses the secondary logo blue rather than an off-brand dark/green treatment. */
.at_path_artist .at_btn_dark {
  color:#fff !important;
  border-color:var(--at-blue);
  background:var(--at-blue);
  box-shadow:0 14px 30px rgba(30,109,181,.24);
}
.at_path_artist .at_btn_dark:hover {
  border-color:var(--at-sky);
  background:var(--at-sky);
  box-shadow:0 18px 38px rgba(30,109,181,.30);
}

/* Top-navigation donation CTA gets a distinct, more elegant display face. */
.at_header_actions .at_btn_primary {
  font-family:var(--at-serif);
  font-size:.98rem;
  font-weight:600;
  letter-spacing:.015em;
  line-height:1;
  text-transform:none;
}
.at_header.is-scrolled .at_header_actions .at_btn_primary {
  font-size:.9rem;
}

@media (max-width:767.98px) {
  .at_footer_bottom {
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .at_footer_bottom .at_footer_copyright,
  .at_footer_bottom .at_footer_credit,
  .at_footer_bottom .at_footer_legal { justify-self:center; }
}

/* ========================================================================
   ArtTruistic V7.0.0 — final responsive refinements
   ======================================================================== */

/* Header donation CTA: use the primary sans-serif UI face for a cleaner,
   more contemporary menu treatment. */
.at_header_actions .at_btn_primary {
  font-family: var(--at-font);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
}
.at_header.is-scrolled .at_header_actions .at_btn_primary {
  font-size: .71rem;
  letter-spacing: .05em;
}

/* Keep hero navigation comfortably above the viewport edge on all screen
   sizes, including iPhones with safe-area insets and short laptop screens. */
.at_hero_controls {
  bottom: max(84px, calc(env(safe-area-inset-bottom) + 60px));
}
@media (max-height: 820px) and (min-width: 768px) {
  .at_hero_controls { bottom: max(72px, calc(env(safe-area-inset-bottom) + 52px)); }
}
@media (max-height: 690px) and (min-width: 992px) {
  .at_hero_controls { bottom: max(64px, calc(env(safe-area-inset-bottom) + 46px)); }
}
@media (max-width: 767.98px) {
  .at_hero_controls { bottom: max(72px, calc(env(safe-area-inset-bottom) + 52px)); }
}
@media (max-width: 575.98px) {
  .at_hero_controls { bottom: max(66px, calc(env(safe-area-inset-bottom) + 48px)); }
}

/* Extra-small phones: preserve tap targets without forcing horizontal
   overflow in the hero controls. */
@media (max-width: 389.98px) {
  .at_hero_controls { left: 10px; right: 10px; width: auto; gap: 9px; }
  .at_circle_btn { width: 44px; height: 44px; }
  .at_slide_counter { font-size: .68rem; }
  .at_progress_item { min-width: 22px; }
}

/* ========================================================================
   ArtTruistic V7.0.0 — final mobile navigation, hero type & scroll motion
   ======================================================================== */

/* Hero typography: the previous masked word wrapper could clip ascenders and
   descenders on narrow screens. V7 keeps the reveal but allows the complete
   letterforms to render and gives multiline headlines healthier leading. */
.at_hero_title {
  line-height: 1.015;
  letter-spacing: -.052em;
  padding-block: .045em .08em;
}
.at_hero_title .at_word {
  overflow: visible;
  vertical-align: baseline;
}
.at_hero_title .at_word > span { will-change: transform, opacity; }

/* Make every standard reveal unmistakably bottom-to-top without adding new
   continuously-running animation work. */
.js .at_reveal { transform: translate3d(0, 42px, 0); }

/* Mobile menu: true full-screen, accessible, scroll-safe navigation panel. */
@media (max-width: 991.98px) {
  .at_header { padding: 12px 14px; }
  .at_header_inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
  }
  .at_brand {
    position: relative;
    z-index: 1303;
    width: 148px;
    max-width: 46vw;
  }
  .at_nav_toggle {
    position: relative;
    z-index: 1304;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    justify-self: end;
    width: 46px;
    height: 46px;
    padding: 0;
    border-color: rgba(24,46,88,.18);
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 22px rgba(24,46,88,.10);
  }
  .at_nav_toggle span {
    width: 19px;
    height: 2px;
    margin: 0;
    border-radius: 99px;
    background: var(--at-navy);
    transform-origin: center;
    transition: transform .28s ease, opacity .22s ease;
  }
  .at_nav_toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .at_nav_toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }

  .at_header .at_nav {
    position: fixed;
    inset: 0;
    z-index: 1302;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: calc(98px + env(safe-area-inset-top)) 24px calc(34px + env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: rgba(255,253,248,.985);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
    backdrop-filter: blur(22px) saturate(145%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-18px);
    transition: opacity .26s ease, transform .32s cubic-bezier(.2,.75,.2,1), visibility .26s ease;
  }
  .at_header .at_nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .at_header .at_nav a,
  .at_header .at_nav.is-open a {
    display: flex;
    align-items: center;
    min-height: 64px;
    width: 100%;
    padding: 15px 4px;
    border-bottom: 1px solid rgba(24,46,88,.11);
    color: var(--at-navy);
    font-size: clamp(1.08rem, 4.8vw, 1.34rem);
    font-weight: 750;
    letter-spacing: -.015em;
  }
  .at_header .at_nav a::after { display: none; }
  .at_header .at_nav a:last-child { border-bottom: 0; }
  .at_header.is-scrolled { padding: 8px 14px; }
  .at_header.is-scrolled .at_brand { width: 128px; }
  body.at_nav_open { overflow: hidden; }
}

/* Mobile process story: on phones the horizontal desktop story becomes a
   dependable vertical editorial sequence. This makes normal downward page
   scrolling reveal every step instead of requiring a difficult side-swipe. */
@media (max-width: 767.98px) {
  .at_process_pin { margin-top: 24px; }
  .at_process_viewport,
  .at_process_native .at_process_viewport {
    overflow: visible;
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    border-radius: 0;
    scroll-snap-type: none;
    touch-action: auto;
  }
  .at_process_track,
  .at_process_native .at_process_track {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
    padding: 0;
    transform: none !important;
    will-change: auto;
  }
  .at_process_slide,
  .at_process_native .at_process_slide {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: none;
    scroll-snap-align: none;
  }
  .at_process_media {
    min-height: 235px !important;
    aspect-ratio: 16 / 10 !important;
  }
  .at_process_story_body { padding: 25px 23px 27px; }
  .at_process_scroll_ui { display: none; }
  .at_process_slide.at_mobile_step_reveal {
    opacity: 0;
    transform: translate3d(0, 38px, 0);
    transition: opacity .62s ease, transform .72s cubic-bezier(.2,.7,.2,1);
  }
  .at_process_slide.at_mobile_step_reveal.is-mobile-step-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
  }

  .at_hero_title {
    line-height: 1.055;
    letter-spacing: -.038em;
    padding-block: .04em .1em;
  }
}

/* Tablet fallback keeps horizontal interaction but makes touch dragging more
   reliable and avoids trapping normal vertical page movement. */
@media (min-width: 768px) and (max-width: 991.98px) {
  .at_process_viewport,
  .at_process_native .at_process_viewport {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    touch-action: pan-x pan-y pinch-zoom;
  }
}

@media (max-width: 575.98px) {
  .at_hero_title {
    font-size: clamp(2.25rem, 10.5vw, 3.8rem);
    line-height: 1.07;
    letter-spacing: -.03em;
  }
  .at_header .at_nav { padding-inline: 18px; }
  .at_header .at_nav a { min-height: 60px; }
}

@media (prefers-reduced-motion: reduce) {
  .at_process_slide.at_mobile_step_reveal,
  .at_process_slide.at_mobile_step_reveal.is-mobile-step-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .at_nav_toggle span,
  .at_header .at_nav { transition: none !important; }
}

/* V7 three-line mobile hamburger morphs cleanly into a close icon. */
@media (max-width: 991.98px) {
  .at_nav_toggle[aria-expanded="true"] span:first-child { transform: translateY(8px) rotate(45deg); }
  .at_nav_toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(.3); }
  .at_nav_toggle[aria-expanded="true"] span:last-child { transform: translateY(-8px) rotate(-45deg); }
}

.at_mobile_nav_donate { display: none !important; }
@media (max-width: 991.98px) {
  .at_header .at_nav .at_mobile_nav_donate {
    display: inline-flex !important;
    justify-content: center;
    min-height: 52px;
    width: min(100%, 360px);
    margin-top: 24px;
    padding: 14px 22px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg,var(--at-blue),var(--at-sky));
    box-shadow: 0 14px 34px rgba(30,109,181,.22);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
}

/* ========================================================================
   ArtTruistic V8.0.0 — focused mobile fixes
   1) reliable hamburger dropdown navigation
   2) true auto-height filtered gallery on phones
   ======================================================================== */

/* Mobile navigation is now a contained dropdown panel positioned from the
   actual rendered header height. This avoids full-screen stacking/z-index
   issues on real phones while keeping every link visible and scrollable. */
@media (max-width: 991.98px) {
  .at_header {
    overflow: visible;
  }

  .at_header .at_nav {
    position: fixed !important;
    top: calc(var(--at-mobile-nav-top, 78px) + 6px) !important;
    right: 12px !important;
    bottom: auto !important;
    left: 12px !important;
    z-index: 1405 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0 !important;
    width: auto;
    max-height: calc(100dvh - var(--at-mobile-nav-top, 78px) - 20px);
    padding: 12px 18px 18px !important;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(24,46,88,.12);
    border-radius: 22px;
    background: rgba(255,255,255,.985) !important;
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    backdrop-filter: blur(20px) saturate(140%);
    box-shadow: 0 24px 60px rgba(18,39,72,.22);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0,-10px,0) scale(.985);
    transform-origin: top center;
    transition: opacity .2s ease, transform .24s cubic-bezier(.2,.75,.2,1), visibility .2s ease;
  }

  .at_header .at_nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0,0,0) scale(1);
  }

  .at_header .at_nav a,
  .at_header .at_nav.is-open a {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    min-height: 54px;
    width: 100%;
    padding: 12px 4px !important;
    border: 0;
    border-bottom: 1px solid rgba(24,46,88,.10);
    color: var(--at-navy) !important;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: -.01em;
    text-align: left;
  }

  .at_header .at_nav a::after { display: none !important; }
  .at_header .at_nav a:nth-last-child(2) { border-bottom: 0; }

  .at_header .at_nav .at_mobile_nav_donate {
    display: flex !important;
    justify-content: center;
    min-height: 50px;
    width: 100%;
    margin: 14px 0 0;
    padding: 13px 20px !important;
    border: 0 !important;
    border-radius: 999px;
    color: #fff !important;
    background: linear-gradient(135deg,var(--at-blue),var(--at-sky)) !important;
    box-shadow: 0 12px 28px rgba(30,109,181,.20);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-align: center;
    text-transform: uppercase;
  }

  body.at_nav_open {
    overflow: hidden;
    overscroll-behavior: none;
  }
}

@media (max-width: 575.98px) {
  .at_header .at_nav {
    right: 10px !important;
    left: 10px !important;
    padding-inline: 16px !important;
    border-radius: 20px;
  }
  .at_header .at_nav a,
  .at_header .at_nav.is-open a {
    min-height: 52px;
    font-size: .98rem;
  }
}

/* On phones the artwork grid becomes a simple content-height stack. Hidden
   filter items are fully removed from flow, so a one-piece category cannot
   reserve old grid tracks or leave a large empty area before the next section. */
@media (max-width: 767.98px) {
  .at_gallery {
    min-height: 0 !important;
  }

  .at_gallery_grid,
  .at_gallery_grid[data-visible-count="1"],
  .at_gallery_grid[data-visible-count="2"] {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin-top: 30px;
    gap: 16px;
  }

  .at_gallery_card,
  .at_gallery_card.at_gallery_tall,
  .at_gallery_card.at_gallery_wide,
  .at_gallery_grid[data-visible-count="1"] .at_gallery_card,
  .at_gallery_grid[data-visible-count="2"] .at_gallery_card {
    display: block;
    flex: 0 0 auto;
    width: 100% !important;
    min-height: 0 !important;
    height: clamp(285px, 76vw, 430px) !important;
    aspect-ratio: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .at_gallery_card.is-hidden {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .at_gallery.is-single-result {
    padding-bottom: 54px;
  }
}

/* ========================================================================
   ArtTruistic V10.0.0 — final mobile hero + premium navigation refinements
   ======================================================================== */

/* Mobile-only navigation enhancements are intentionally isolated here so the
   approved V8 desktop header and homepage remain unchanged. */
.at_mobile_nav_intro { display: none; }

@media (max-width: 991.98px) {
  /* A polished right-side editorial drawer replaces the generic dropdown.
     The header/toggle remain visible and the rest of the page is softly dimmed. */
  .at_header::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1390;
    background: rgba(10, 22, 42, .46);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
  }
  body.at_nav_open .at_header::after {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .at_header .at_nav_toggle {
    z-index: 1425;
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  }
  body.at_nav_open .at_header .at_nav_toggle {
    border-color: rgba(24,46,88,.14);
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 34px rgba(24,46,88,.16);
  }

  .at_header .at_nav {
    counter-reset: at-mobile-nav;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    z-index: 1410 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0 !important;
    width: min(88vw, 410px) !important;
    max-width: 410px;
    height: 100dvh;
    max-height: none;
    padding: calc(104px + env(safe-area-inset-top)) 24px calc(26px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    border-left: 1px solid rgba(24,46,88,.10);
    border-radius: 30px 0 0 30px;
    background:
      radial-gradient(circle at 100% 0%, rgba(99,159,213,.16), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.995), rgba(248,250,252,.995)) !important;
    -webkit-backdrop-filter: blur(22px) saturate(145%);
    backdrop-filter: blur(22px) saturate(145%);
    box-shadow: -24px 0 70px rgba(15,32,61,.20);
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(104%,0,0) !important;
    transform-origin: right center;
    transition: transform .38s cubic-bezier(.22,.78,.22,1), visibility .38s ease;
  }

  .at_header .at_nav.is-open {
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0,0,0) !important;
  }

  .at_mobile_nav_intro {
    display: block;
    margin: 0 0 20px;
    padding: 0 4px 20px;
    border-bottom: 1px solid rgba(24,46,88,.10);
  }
  .at_mobile_nav_intro span {
    display: block;
    margin-bottom: 8px;
    color: var(--at-blue);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
  }
  .at_mobile_nav_intro strong {
    display: block;
    color: var(--at-navy);
    font-family: var(--at-serif);
    font-size: clamp(1.7rem, 7vw, 2.2rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.025em;
  }
  .at_mobile_nav_intro p {
    max-width: 30ch;
    margin: 10px 0 0;
    color: #697487;
    font-size: .78rem;
    line-height: 1.55;
  }

  .at_header .at_nav > a:not(.at_mobile_nav_donate),
  .at_header .at_nav.is-open > a:not(.at_mobile_nav_donate) {
    counter-increment: at-mobile-nav;
    position: relative;
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) 20px;
    align-items: center;
    min-height: 57px;
    width: 100%;
    padding: 10px 4px !important;
    border: 0;
    border-bottom: 1px solid rgba(24,46,88,.09);
    color: var(--at-navy) !important;
    font-size: 1.03rem;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -.015em;
    text-align: left;
  }
  .at_header .at_nav > a:not(.at_mobile_nav_donate)::before {
    content: "0" counter(at-mobile-nav);
    color: var(--at-blue);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .08em;
  }
  .at_header .at_nav > a:not(.at_mobile_nav_donate)::after {
    content: "↗" !important;
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    color: rgba(24,46,88,.42);
    background: none !important;
    font-size: .85rem;
    line-height: 1;
    opacity: 1;
    transform: none !important;
  }
  .at_header .at_nav > a:not(.at_mobile_nav_donate):hover,
  .at_header .at_nav > a:not(.at_mobile_nav_donate):focus-visible {
    color: var(--at-blue) !important;
  }

  /* Donation action is a small editorial card rather than a generic pill. */
  .at_header .at_nav .at_mobile_nav_donate {
    display: grid !important;
    grid-template-columns: 46px minmax(0,1fr) 24px;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    width: 100%;
    margin: auto 0 0;
    padding: 12px 14px !important;
    border: 1px solid rgba(30,109,181,.14) !important;
    border-radius: 18px;
    color: var(--at-navy) !important;
    background: linear-gradient(135deg, rgba(30,109,181,.08), rgba(99,159,213,.13)) !important;
    box-shadow: none;
    text-align: left;
    text-transform: none;
  }
  .at_mobile_nav_donate_icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg, var(--at-navy), var(--at-blue));
    box-shadow: 0 10px 24px rgba(24,46,88,.18);
  }
  .at_mobile_nav_donate_icon svg { width: 25px; height: 25px; }
  .at_mobile_nav_donate_copy { display: grid; gap: 2px; }
  .at_mobile_nav_donate_copy small {
    color: var(--at-blue);
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .12em;
  }
  .at_mobile_nav_donate_copy strong {
    color: var(--at-navy);
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: -.01em;
  }
  .at_mobile_nav_donate_arrow {
    color: var(--at-blue);
    font-size: 1.15rem;
    line-height: 1;
    transition: transform .25s ease;
  }
  .at_mobile_nav_donate:hover .at_mobile_nav_donate_arrow,
  .at_mobile_nav_donate:focus-visible .at_mobile_nav_donate_arrow { transform: translateX(3px); }

  body.at_nav_open {
    overflow: hidden;
    overscroll-behavior: none;
  }
}

/* The screenshot showed the first headline sitting underneath the fixed header.
   V9 gives mobile hero copy its own header-safe top space and enough content
   height to avoid clipping on short/tall phones alike. */
@media (max-width: 767.98px) {
  .at_hero {
    height: auto !important;
    min-height: max(100svh, 900px) !important;
    max-height: none !important;
  }
  .at_hero_slider,
  .at_hero_slide { min-height: inherit; }
  .at_hero_content {
    align-items: flex-start !important;
    height: auto !important;
    min-height: inherit;
    padding-top: calc(124px + env(safe-area-inset-top)) !important;
    padding-bottom: 178px !important;
  }
  .at_hero_copy {
    width: 100% !important;
    max-width: 680px;
  }
  .at_hero_title {
    margin-top: 0 !important;
    padding: .08em 0 .12em !important;
    font-size: clamp(2.55rem, 11.2vw, 3.9rem) !important;
    line-height: 1.035 !important;
    letter-spacing: -.035em !important;
    overflow: visible !important;
    text-wrap: pretty;
  }
  .at_hero_title .at_word,
  .at_hero_title .at_word > span {
    overflow: visible !important;
    line-height: inherit;
  }
  .at_hero_text {
    margin-top: 22px;
    font-size: .96rem;
    line-height: 1.72;
  }
  .at_hero_actions { margin-top: 26px; }
}

@media (max-width: 575.98px) {
  .at_header .at_nav { width: min(92vw, 390px) !important; padding-inline: 21px !important; }
  .at_hero { min-height: max(100svh, 920px) !important; }
  .at_hero_content { padding-top: calc(120px + env(safe-area-inset-top)) !important; }
  .at_hero_title {
    font-size: clamp(2.4rem, 10.7vw, 3.45rem) !important;
    line-height: 1.045 !important;
  }
}

@media (max-width: 389.98px) {
  .at_header .at_nav { width: 94vw !important; border-radius: 24px 0 0 24px; }
  .at_hero { min-height: max(100svh, 950px) !important; }
  .at_hero_title { font-size: clamp(2.2rem, 10.4vw, 3.05rem) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .at_header .at_nav { transition: none !important; }
}

/* ================================================================
   V10.0.0 — client review refinements
   - no scroll-jacking in "A Different Approach to Giving"
   - no public artwork/gallery showcase
   - larger, accessibility-first paragraph typography
   ================================================================ */

:root {
  --at-v10-copy: clamp(1.0625rem, 1.05vw, 1.125rem);
  --at-v10-copy-mobile: 1.0625rem;
  --at-v10-cream: #f7f3ec;
  --at-v10-paper: #fcfaf6;
}

/* Client requested readable paragraph sizing site-wide. Decorative labels may
   remain smaller, but body copy stays at a comfortable reading size. */
.at_hero_text,
.at_rich_text,
.at_rich_text p,
.at_process_v10_body p,
.at_dual_intro_copy,
.at_faq_item > div p,
.at_cta_inner > p:not(.at_kicker),
.at_supporting_v10_copy > p,
.at_anonymous_v10_intro .at_rich_text,
.at_anonymous_v10_points p,
.at_anonymous_v10_closing {
  font-size: var(--at-v10-copy) !important;
  line-height: 1.75 !important;
}
.at_rich_text p { margin: 0 0 1.05em; }
.at_rich_text p:last-child { margin-bottom: 0; }
.at_stat p { font-size: .95rem; line-height: 1.55; }
.at_checklist li,
.at_path_visual_grid_v4 .at_path_points li,
.at_philosophy_points_v2 p { font-size: 1rem; line-height: 1.62; }
.at_faq_item summary { font-size: clamp(1.08rem, 1.35vw, 1.24rem); }
.at_footer_brand p,
.at_footer_message p,
.at_footer_disclosure p { font-size: .95rem; line-height: 1.65; }

/* --- A Different Approach to Giving: static editorial bento, no pin/scroll trap --- */
.at_process_v10 {
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 6%, rgba(99,159,213,.12), transparent 28%),
    linear-gradient(180deg, #fff 0%, var(--at-v10-paper) 100%);
}
.at_process_v10_head {
  max-width: 900px;
  margin: 0 0 clamp(34px, 5vw, 64px);
}
.at_process_v10_head h2 { max-width: 820px; }
.at_process_v10_grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}
.at_process_v10_grid::before {
  content: "";
  position: absolute;
  left: 4%;
  right: 4%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(30,109,181,.25), transparent);
  pointer-events: none;
}
.at_process_v10_card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 230px 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(24,46,88,.11);
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 20px 56px rgba(24,46,88,.08);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.at_process_v10_card:hover {
  transform: translateY(-5px);
  border-color: rgba(30,109,181,.24);
  box-shadow: 0 28px 70px rgba(24,46,88,.12);
}
.at_process_v10_card_1 { grid-column: 1 / span 7; }
.at_process_v10_card_2 { grid-column: 8 / span 5; }
.at_process_v10_card_3 { grid-column: 1 / span 4; }
.at_process_v10_card_4 { grid-column: 5 / span 4; }
.at_process_v10_card_5 { grid-column: 9 / span 4; }
.at_process_v10_card_1 { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); grid-template-rows: 1fr; min-height: 390px; }
.at_process_v10_card_1 .at_process_v10_media { min-height: 100%; }
.at_process_v10_card_1 .at_process_v10_body { align-self: center; }
.at_process_v10_media {
  position: relative;
  min-height: 230px;
  overflow: hidden;
  background: var(--at-navy);
}
.at_process_v10_media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.at_process_v10_card:hover .at_process_v10_media img { transform: scale(1.035); }
.at_process_v10_tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,31,60,.03), rgba(16,31,60,.48));
}
.at_process_v10_number {
  position: absolute;
  left: 20px;
  bottom: 16px;
  color: #fff;
  font-family: var(--at-serif);
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 600;
  line-height: 1;
  text-shadow: 0 3px 20px rgba(0,0,0,.25);
}
.at_process_v10_body { padding: clamp(24px, 3vw, 36px); }
.at_process_v10_body h3 {
  margin: 0 0 14px;
  color: var(--at-navy);
  font-size: clamp(1.42rem, 2vw, 2rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.at_process_v10_body p { margin: 0; color: #566477; }

/* --- Replacement for the removed public-work gallery --- */
.at_supporting_v10 { background: var(--at-v10-cream); }
.at_supporting_v10_grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(38px, 7vw, 92px);
  align-items: center;
}
.at_supporting_v10_media {
  position: relative;
  min-height: 610px;
  padding: 18px 18px 0 0;
}
.at_supporting_v10_media img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
  border-radius: 180px 28px 180px 28px;
  box-shadow: 0 28px 72px rgba(24,46,88,.16);
}
.at_supporting_v10_frame {
  position: absolute;
  z-index: 1;
  inset: 0 0 24px 24px;
  border: 1px solid rgba(30,109,181,.26);
  border-radius: 180px 28px 180px 28px;
}
.at_supporting_v10_copy h2 { max-width: 720px; }
.at_supporting_v10_copy .at_rich_text { margin: 28px 0 30px; }

/* --- Why Anonymous Giving: exact client copy in a visual trust panel --- */
.at_anonymous_v10 {
  color: #fff;
  background:
    radial-gradient(circle at 85% 15%, rgba(99,159,213,.20), transparent 32%),
    linear-gradient(135deg, var(--at-navy-2), var(--at-navy));
}
.at_anonymous_v10_shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
  padding: clamp(34px, 5vw, 70px);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 34px;
  background: rgba(255,255,255,.045);
  box-shadow: 0 28px 80px rgba(5,18,40,.2);
}
.at_anonymous_v10 .at_kicker { color: var(--at-sky); }
.at_anonymous_v10 h2 { color: #fff; }
.at_anonymous_v10 .at_rich_text,
.at_anonymous_v10 .at_rich_text p { color: rgba(255,255,255,.76); }
.at_anonymous_v10_points { display: grid; gap: 10px; }
.at_anonymous_v10_points > div {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: center;
  padding: 17px 18px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
}
.at_anonymous_v10_points span {
  color: var(--at-sky);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.at_anonymous_v10_points p { margin: 0; color: #fff; }
.at_anonymous_v10_closing {
  grid-column: 1 / -1;
  max-width: 860px;
  margin: 8px 0 0;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-family: var(--at-serif);
  font-size: clamp(1.45rem, 2.35vw, 2.35rem) !important;
  font-weight: 600;
  line-height: 1.35 !important;
}

.at_footer_message h3 { margin: 0 0 14px; color: #fff; font-size: .88rem; }
.at_footer_message p { margin: 0 0 8px; color: rgba(255,255,255,.62); }

@media (max-width: 1199.98px) {
  .at_process_v10_card_1 { grid-column: 1 / span 7; }
  .at_process_v10_card_2 { grid-column: 8 / span 5; }
  .at_process_v10_card_3 { grid-column: 1 / span 4; }
  .at_process_v10_card_4 { grid-column: 5 / span 4; }
  .at_process_v10_card_5 { grid-column: 9 / span 4; }
  .at_process_v10_card_1 { grid-template-columns: 1fr; grid-template-rows: 250px 1fr; min-height: 0; }
}

@media (max-width: 991.98px) {
  .at_process_v10_grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .at_process_v10_grid::before { display: none; }
  .at_process_v10_card,
  .at_process_v10_card_1,
  .at_process_v10_card_2,
  .at_process_v10_card_3,
  .at_process_v10_card_4,
  .at_process_v10_card_5 { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 220px 1fr; min-height: 0; }
  .at_process_v10_card_5 { grid-column: 1 / -1; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); grid-template-rows: 1fr; }
  .at_supporting_v10_grid,
  .at_anonymous_v10_shell { grid-template-columns: 1fr; }
  .at_supporting_v10_media { min-height: 500px; max-width: 720px; }
  .at_supporting_v10_media img { min-height: 480px; }
}

@media (max-width: 767.98px) {
  .at_section { padding: clamp(68px, 14vw, 92px) 0; }
  .at_hero_text,
  .at_rich_text,
  .at_rich_text p,
  .at_process_v10_body p,
  .at_dual_intro_copy,
  .at_faq_item > div p,
  .at_cta_inner > p:not(.at_kicker),
  .at_anonymous_v10_points p {
    font-size: var(--at-v10-copy-mobile) !important;
    line-height: 1.72 !important;
  }
  .at_process_v10_grid { grid-template-columns: 1fr; gap: 16px; }
  .at_process_v10_card,
  .at_process_v10_card_1,
  .at_process_v10_card_2,
  .at_process_v10_card_3,
  .at_process_v10_card_4,
  .at_process_v10_card_5 { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 220px 1fr; }
  .at_process_v10_body { padding: 24px; }
  .at_supporting_v10_media { min-height: 390px; padding: 10px 10px 0 0; }
  .at_supporting_v10_media img { min-height: 380px; border-radius: 100px 22px 100px 22px; }
  .at_supporting_v10_frame { inset: 0 0 16px 16px; border-radius: 100px 22px 100px 22px; }
  .at_anonymous_v10_shell { padding: 28px 20px; border-radius: 24px; }
  .at_anonymous_v10_points > div { grid-template-columns: 34px 1fr; padding: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .at_process_v10_card,
  .at_process_v10_media img { transition: none !important; }
  .at_process_v10_card:hover { transform: none; }
}

.at_mobile_nav_intro p { font-size: 1rem !important; line-height: 1.6 !important; }

/* ================================================================
   V12 — Modern Gallery / Art-Lover Psychology
   Contemporary art gallery × cultural foundation × philanthropy.
   The system intentionally uses warm canvas neutrals, brand blue,
   editorial serif display type, and explicit high-contrast contexts.
   ================================================================ */
:root {
  --at-navy: #182f58;
  --at-navy-2: #0f2445;
  --at-blue: #1e6eb6;
  --at-sky: #649fd6;
  --at-paper: #fcfbf8;
  --at-ivory: #f6f2ea;
  --at-canvas-warm: #e9e1d5;
  --at-mist: #edf5fc;
  --at-ink: #1f2937;
  --at-muted: #5d6978;
  --at-line: rgba(24,47,88,.14);
  --at-font: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --at-serif: "Cormorant Garamond", Georgia, serif;
  --at-shadow: 0 22px 70px rgba(24,47,88,.12);
  --at-radius: 18px;
}

body:is(.home,.page-template-page-homepage) {
  background: var(--at-paper);
  color: var(--at-ink);
  font-family: var(--at-font);
}

.at_site { background: var(--at-paper); }
.at_site p,
.at_site li { text-wrap: pretty; }
.at_section { padding: clamp(82px, 8vw, 132px) 0; }
.at_kicker,
.at_micro_label,
.at_eyebrow {
  color: var(--at-blue);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .2em;
}
.at_section h2,
.at_path_card h2,
.at_cta h2,
.at_philosophy h2 {
  color: var(--at-navy);
  font-family: var(--at-serif);
  font-size: clamp(2.8rem, 5vw, 5.6rem);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .94;
}
.at_rich_text,
.at_rich_text p,
.at_section_copy > p:not(.at_kicker):not(.at_lead) {
  color: #4f5e70;
}

/* Modern controls: crisp, not SaaS-pills. */
.at_btn {
  min-height: 52px;
  padding: 0 25px;
  border-radius: 10px;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.at_btn_primary,
.at_btn_warm {
  color: #fff !important;
  background: var(--at-blue) !important;
  box-shadow: 0 12px 30px rgba(30,110,182,.22);
}
.at_btn_primary:hover,
.at_btn_warm:hover { background: #175f9f !important; box-shadow: 0 17px 34px rgba(30,110,182,.27); }
.at_btn_dark { color:#fff !important; background:var(--at-navy) !important; }
.at_btn_light { color:var(--at-navy) !important; background:#fff !important; }
.at_text_link { color: var(--at-navy); }
.at_text_link_light { color:#fff !important; }
.at_site a:focus-visible,
.at_site button:focus-visible,
.at_site summary:focus-visible,
.at_site input:focus-visible {
  outline: 3px solid rgba(30,110,182,.38);
  outline-offset: 4px;
}

/* Header: a white gallery bar. */
.at_header {
  padding: 12px 24px;
  background: rgba(252,251,248,.94);
  border-bottom: 1px solid rgba(24,47,88,.08);
  backdrop-filter: blur(18px) saturate(130%);
  box-shadow: 0 7px 30px rgba(24,47,88,.045);
}
.at_header::before { display:none; }
.at_header.is-scrolled {
  padding-top: 9px;
  padding-bottom: 9px;
  background: rgba(252,251,248,.97);
  border-bottom-color: rgba(24,47,88,.11);
  box-shadow: 0 10px 34px rgba(24,47,88,.08);
}
.at_header_inner { grid-template-columns: 210px 1fr auto; max-width: 1500px; }
.at_brand { width: 205px; }
.at_brand img { max-height: 70px; object-fit: contain; object-position: left center; }
.at_nav { gap: clamp(18px,2.1vw,34px); }
.at_nav a {
  color: var(--at-navy);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.at_nav a::after { bottom:-7px; background:var(--at-blue); }
.at_header_actions .at_btn_ghost {
  color: var(--at-navy) !important;
  border-color: rgba(24,47,88,.18);
  background: transparent;
  backdrop-filter: none;
}
.at_nav_toggle { border-color:rgba(24,47,88,.18); background:#fff; }
.at_nav_toggle span { background:var(--at-navy); }

/* Hero: clean editorial split, image-heavy on the right, readable on the left. */
.at_hero {
  height: min(860px, 100svh);
  min-height: 720px;
  max-height: 920px;
  color: var(--at-ink);
  background:
    url('../images/hero-artwork.webp') right center / 51% 100% no-repeat,
    url('../images/canvas-texture.webp') repeat,
    linear-gradient(115deg,#fff 0%,#fbf8f1 58%,#f2eadf 100%);
}
.at_hero::before {
  content:"";
  position:absolute;
  z-index:2;
  left:-55px;
  bottom:-35px;
  width:min(41vw,650px);
  height:200px;
  background:url('../images/brush-stroke-blue.svg') center/contain no-repeat;
  opacity:.16;
  transform:rotate(3deg);
  pointer-events:none;
}
.at_hero::after {
  content:"";
  position:absolute;
  z-index:3;
  right:43%;
  bottom:4%;
  width:170px;
  height:205px;
  background:url('../images/brushes-accent.svg') center/contain no-repeat;
  opacity:.34;
  pointer-events:none;
}
.at_hero_slide { background:transparent; }
.at_hero_media {
  inset: 0 0 0 49%;
  width: 51%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
  filter: saturate(.86) contrast(.98) brightness(1.02);
}
.at_hero_scrim {
  z-index:1;
  background:
    linear-gradient(90deg,#fcfbf8 0%,#fcfbf8 44%,rgba(252,251,248,.96) 49%,rgba(252,251,248,.52) 56%,rgba(24,47,88,.04) 72%,rgba(24,47,88,.16) 100%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(24,47,88,.08));
}
.at_hero_content {
  z-index:5;
  align-items:center;
  max-width:1500px;
  padding-top:112px;
  padding-bottom:90px;
}
.at_hero_copy { width:min(660px,45vw); }
.at_eyebrow { color:var(--at-blue); }
.at_hero_title {
  max-width: 680px;
  color: var(--at-navy);
  font-family: var(--at-serif);
  font-size: clamp(4.1rem, 6.4vw, 7.8rem);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .82;
}
.at_hero_text {
  max-width: 620px;
  margin-top: 28px;
  color: #4d6076 !important;
  font-size: clamp(1rem,1.12vw,1.14rem) !important;
  line-height: 1.65 !important;
}
.at_hero_actions { gap:26px; margin-top:30px; }
.at_hero .at_text_link { color:var(--at-navy); }
.at_parallax_blob { display:none; }
.at_brushstroke { display:none; }
.at_hero_controls {
  left: max(24px, calc((100% - 1500px)/2 + 12px));
  right: auto;
  bottom: 24px;
  width: min(600px,42vw);
  transform: none;
  grid-template-columns:auto 1fr auto;
  gap:18px;
}
.at_slide_counter { color:var(--at-navy); }
.at_slide_counter i { background:rgba(24,47,88,.25); }
.at_progress_line { background:rgba(24,47,88,.15); }
.at_progress_line span { background:var(--at-blue); }
.at_circle_btn {
  width:42px; height:42px;
  color:var(--at-navy);
  border-color:rgba(24,47,88,.18);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
}
.at_scroll_cue { display:none; }

/* Trust / impact strip: bright card, dark text. */
.at_impact { padding:0 0 34px; background:var(--at-paper); }
.at_impact_shell {
  margin-top:-1px;
  border:0;
  border-radius:0;
  padding: 24px 28px;
  background:rgba(255,255,255,.97);
  box-shadow:0 13px 36px rgba(24,47,88,.07);
}
.at_impact_intro { border-right-color:var(--at-line); }
.at_impact_intro p,
.at_stat p { color:#586779; }
.at_stat_value { color:var(--at-navy); }
.at_stat_icon { color:var(--at-blue); }

/* Mission: canvas/paper atmosphere with visible art. */
.at_about {
  isolation:isolate;
  overflow:hidden;
  background:
    url('../images/canvas-texture.webp') repeat,
    linear-gradient(180deg,var(--at-ivory),#fff);
}
.at_about::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:-5%;
  top:2%;
  width:42%;
  height:180px;
  background:url('../images/brush-stroke-blue.svg') center/contain no-repeat;
  opacity:.12;
  transform:rotate(-10deg);
}
.at_about::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:-30px;
  bottom:0;
  width:320px;
  height:370px;
  background:url('../images/brushes-accent.svg') center/contain no-repeat;
  opacity:.12;
}
.at_section_copy h2 { max-width:700px; }
.at_quote {
  max-width:560px;
  padding:26px 0 0;
  border-top:1px solid rgba(24,47,88,.18);
}
.at_quote p {
  color:var(--at-navy);
  font-size:clamp(1.8rem,2.8vw,3rem);
  line-height:1.08;
}
.at_artwork_stage { max-width:620px; }
.at_artwork_glow { inset:7% -6% -5% 10%; opacity:.55; }
.at_artwork_frame {
  padding:12px;
  border:1px solid rgba(24,47,88,.20);
  border-radius:14px;
  background:#fff;
  box-shadow:0 34px 80px rgba(24,47,88,.17);
}
.at_artwork_frame::before { inset:6px; border-radius:10px; border-color:rgba(201,164,92,.48); }
.at_artwork_button { border-radius:8px; }
.at_artwork_meta { color:var(--at-navy); padding:17px 6px 5px; }
.at_artwork_meta strong { color:var(--at-navy); }
.at_artwork_meta span:not(.at_badge) { color:#677486; }
.at_badge { color:var(--at-blue); border-color:rgba(30,110,182,.22); background:var(--at-mist); border-radius:6px; }

/* Process: decisive dark contrast with light cards and art photography. */
.at_process_v10 {
  color:#fff;
  background:
    linear-gradient(rgba(15,36,69,.94),rgba(15,36,69,.97)),
    url('../images/painting-wash.webp') center/cover fixed;
}
.at_process_v10::after {
  content:"";
  position:absolute;
  right:-100px;
  bottom:-20px;
  width:620px;
  height:190px;
  background:url('../images/brush-stroke-blue.svg') center/contain no-repeat;
  opacity:.18;
  pointer-events:none;
}
.at_process_v10 .at_kicker { color:#9dc9ef; }
.at_process_v10_head h2 { color:#fff; }
.at_process_v10_grid::before { background:linear-gradient(90deg,transparent,rgba(157,201,239,.35),transparent); }
.at_process_v10_card {
  border-color:rgba(255,255,255,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 60px rgba(5,18,40,.25);
}
.at_process_v10_body h3 { color:var(--at-navy); font-family:var(--at-font); font-weight:750; }
.at_process_v10_body p { color:#526175 !important; }
.at_process_v10_number { font-family:var(--at-serif); }

/* Supporting artists: strong white editorial panel, no washed text. */
.at_supporting_v10 {
  background:
    url('../images/canvas-texture.webp') repeat,
    var(--at-paper);
}
.at_supporting_v10_grid { gap:clamp(46px,7vw,100px); }
.at_supporting_v10_media { min-height:590px; padding:0; }
.at_supporting_v10_media img {
  min-height:590px;
  border-radius:14px;
  box-shadow:0 26px 62px rgba(24,47,88,.16);
}
.at_supporting_v10_frame {
  inset:20px -20px -20px 20px;
  border-color:rgba(30,110,182,.26);
  border-radius:14px;
}
.at_supporting_v10_copy h2 { font-family:var(--at-serif); color:var(--at-navy); }
.at_supporting_v10_copy .at_rich_text,
.at_supporting_v10_copy .at_rich_text p { color:#4f5e70 !important; }

/* Anonymous giving: image/paint atmosphere with guaranteed white foreground. */
.at_anonymous_v10 {
  isolation:isolate;
  color:#fff;
  background:
    linear-gradient(100deg,rgba(15,36,69,.98) 0%,rgba(15,36,69,.94) 48%,rgba(24,47,88,.80) 100%),
    url('../images/painting-wash.webp') center/cover no-repeat;
}
.at_anonymous_v10::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('../images/canvas-texture.webp') repeat;
  opacity:.04;
}
.at_anonymous_v10_shell {
  border-radius:18px;
  border-color:rgba(255,255,255,.14);
  background:rgba(8,25,51,.24);
  backdrop-filter:blur(5px);
}
.at_anonymous_v10 .at_kicker { color:#9dc9ef; }
.at_anonymous_v10 h2,
.at_anonymous_v10 .at_rich_text,
.at_anonymous_v10 .at_rich_text p,
.at_anonymous_v10_points p,
.at_anonymous_v10_closing { color:#fff !important; }
.at_anonymous_v10 .at_rich_text p { color:rgba(255,255,255,.80) !important; }
.at_anonymous_v10_points > div { border-radius:10px; background:rgba(255,255,255,.08); }

/* Donor / artist journey: paper background and high-contrast editorial cards. */
.at_dual_path_v4 {
  background:
    url('../images/canvas-texture.webp') repeat,
    linear-gradient(180deg,var(--at-paper),var(--at-ivory));
}
.at_path_visual_grid_v4 .at_path_visual { border-radius:16px; }
.at_path_visual_grid_v4 .at_path_visual.at_path_donor {
  background:linear-gradient(145deg,#11294e,var(--at-navy) 60%,#195f9d);
}
.at_path_visual_grid_v4 .at_path_donor .at_path_content h2,
.at_path_visual_grid_v4 .at_path_donor .at_path_content .at_rich_text,
.at_path_visual_grid_v4 .at_path_donor .at_path_content .at_rich_text p,
.at_path_visual_grid_v4 .at_path_donor .at_path_points li { color:#fff !important; }
.at_path_visual_grid_v4 .at_path_donor .at_path_content .at_rich_text p { color:rgba(255,255,255,.78) !important; }
.at_path_visual_grid_v4 .at_path_artist .at_path_content h2 { color:var(--at-navy); }
.at_path_visual_grid_v4 .at_path_artist .at_rich_text,
.at_path_visual_grid_v4 .at_path_artist .at_rich_text p,
.at_path_visual_grid_v4 .at_path_artist .at_path_points li { color:#4f5e70 !important; }
.at_path_image_note { border-radius:10px; background:rgba(10,29,57,.60); }
.at_paths_donation_moment { border-radius:14px; background:#fff; }

/* Stewardship: warm paper + restrained navy story card. */
.at_programs_v3 {
  background:
    url('../images/canvas-texture.webp') repeat,
    var(--at-ivory);
}
.at_programs_compact { border-radius:14px; background:rgba(255,255,255,.76); }
.at_programs_compact h2 { color:var(--at-navy); }
.at_programs_compact .at_rich_text,
.at_programs_compact .at_rich_text p { color:#536174 !important; }
.at_stewardship_story { border-radius:16px; background:var(--at-navy); }
.at_stewardship_content h2,
.at_stewardship_content .at_rich_text,
.at_stewardship_content .at_rich_text p { color:#fff !important; }
.at_stewardship_content .at_rich_text p { color:rgba(255,255,255,.78) !important; }

/* Philosophy: art on one side, readable paper on the other. */
.at_philosophy {
  background:linear-gradient(180deg,#fff,var(--at-paper));
}
.at_philosophy::after {
  content:"";
  position:absolute;
  left:-70px;
  bottom:0;
  width:480px;
  height:150px;
  background:url('../images/brush-stroke-sand.svg') center/contain no-repeat;
  opacity:.45;
  pointer-events:none;
}
.at_philosophy_copy h2 { color:var(--at-navy); }
.at_philosophy_copy .at_rich_text,
.at_philosophy_copy .at_rich_text p { color:#536174 !important; }
.at_philosophy_main,
.at_philosophy_detail { border-radius:14px; overflow:hidden; }
.at_philosophy_points_v2 > div { border-radius:10px; background:#fff; }

/* FAQ: pale blue surface with dark questions and copy. */
.at_faq { background:var(--at-mist); }
.at_faq_heading h2,
.at_faq_item summary { color:var(--at-navy); }
.at_faq_item > div p { color:#536174 !important; }
.at_faq_visual_inner { border-radius:16px; overflow:hidden; }
.at_faq_visual_overlay { background:linear-gradient(180deg,rgba(15,36,69,.06),rgba(15,36,69,.78)); }
.at_faq_visual_copy,
.at_faq_visual_copy p { color:#fff !important; }

/* Final CTA: artwork stays visible while foreground remains white. */
.at_cta_parallax {
  min-height:590px;
  background:var(--at-navy);
}
.at_cta_overlay {
  background:
    linear-gradient(90deg,rgba(10,28,55,.96) 0%,rgba(24,47,88,.88) 49%,rgba(24,47,88,.50) 76%,rgba(24,47,88,.38) 100%),
    linear-gradient(180deg,rgba(15,36,69,.15),rgba(15,36,69,.30));
}
.at_cta_parallax .at_kicker { color:#9dc9ef; }
.at_cta_parallax h2,
.at_cta_parallax .at_cta_inner > p:not(.at_kicker) { color:#fff !important; }
.at_cta_parallax .at_cta_inner > p:not(.at_kicker) { color:rgba(255,255,255,.82) !important; }
.at_cta_parallax .at_btn_light { color:var(--at-navy) !important; background:#fff !important; }

/* Donation prompt: clean, calm, high contrast; no pulse/heartbeat gimmick. */
.at_donation_dock { width:min(390px,calc(100vw - 30px)); right:18px; bottom:18px; }
.at_donation_dock_link {
  min-height:78px;
  padding:10px 12px;
  border:1px solid rgba(24,47,88,.12);
  border-radius:14px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 55px rgba(15,36,69,.17);
  backdrop-filter:blur(16px);
}
.at_donation_heart {
  width:58px; height:58px;
  border-radius:10px;
  color:#fff;
  background:var(--at-blue);
}
.at_donation_heart_ring,
.at_donation_heartbeat { display:none !important; }
.at_donation_dock.is-visible .at_donation_heart { animation:none !important; }
.at_donation_dock_copy small { color:var(--at-blue); }
.at_donation_dock_copy strong { color:var(--at-navy); }
.at_donation_dock_copy em { color:#667487; }
.at_donation_dock_cta { color:var(--at-blue); }

/* Footer: dark, deliberate, readable. */
.at_footer {
  position:relative;
  overflow:hidden;
  color:rgba(255,255,255,.76);
  background:#0e2344;
}
.at_footer::before {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-45px;
  width:560px;
  height:170px;
  background:url('../images/brush-stroke-blue.svg') center/contain no-repeat;
  opacity:.12;
}
.at_footer h3,
.at_footer_message h3 { color:#fff; }
.at_footer_brand p,
.at_footer_message p,
.at_footer_disclosure p,
.at_footer_links a { color:rgba(255,255,255,.72); }
.at_footer_links a:hover { color:#fff; }
.at_footer_disclosure { border-radius:12px; background:rgba(255,255,255,.045); }

/* Tablet/mobile: preserve the split feeling without sacrificing readability. */
@media (max-width:1199.98px) {
  .at_header_inner { grid-template-columns:180px 1fr auto; }
  .at_brand { width:178px; }
  .at_hero_media { left:53%; width:47%; }
  .at_hero_copy { width:min(620px,50vw); }
  .at_hero::after { right:38%; }
}

@media (max-width:991.98px) {
  body:is(.home,.page-template-page-homepage) { cursor:auto; }
  .at_header { padding:10px 16px; }
  .at_header_inner { grid-template-columns:172px 1fr auto; }
  .at_brand { width:170px; }
  .at_nav {
    background:rgba(252,251,248,.985);
    color:var(--at-navy);
  }
  .at_nav a { color:var(--at-navy); }
  .at_mobile_nav_intro span { color:var(--at-blue); }
  .at_mobile_nav_intro strong,
  .at_mobile_nav_intro p { color:var(--at-navy) !important; }
  .at_mobile_nav_donate { color:#fff !important; background:var(--at-blue) !important; }
  .at_hero {
    height:auto !important;
    min-height:900px !important;
    max-height:none !important;
    padding-top:84px;
  }
  .at_hero_media {
    inset:auto 0 0 0;
    width:100%;
    height:46%;
    object-position:center 42%;
  }
  .at_hero_scrim {
    background:linear-gradient(180deg,#fcfbf8 0%,#fcfbf8 50%,rgba(252,251,248,.86) 61%,rgba(24,47,88,.08) 82%,rgba(24,47,88,.18) 100%);
  }
  .at_hero_content {
    align-items:flex-start !important;
    min-height:900px;
    padding-top:64px !important;
    padding-bottom:410px !important;
  }
  .at_hero_copy { width:100% !important; max-width:720px; }
  .at_hero_title { max-width:720px; font-size:clamp(3.6rem,10vw,6.5rem) !important; line-height:.88 !important; }
  .at_hero::after { right:4%; bottom:35%; width:120px; height:150px; }
  .at_hero_controls { left:24px; bottom:18px; width:calc(100% - 48px); }
  .at_slide_counter { color:#fff; }
  .at_slide_counter i,.at_progress_line { background:rgba(255,255,255,.35); }
  .at_progress_line span { background:#fff; }
  .at_circle_btn { color:#fff; border-color:rgba(255,255,255,.32); background:rgba(15,36,69,.38); }
  .at_impact_shell { grid-template-columns:1fr; }
  .at_impact_intro { border-right:0; border-bottom:1px solid var(--at-line); }
  .at_process_v10 { background-attachment:scroll; }
}

@media (max-width:767.98px) {
  .at_section { padding:72px 0; }
  .at_header_inner { grid-template-columns:150px 1fr auto; }
  .at_brand { width:148px; }
  .at_hero { min-height:860px !important; }
  .at_hero_content { min-height:860px; padding-top:48px !important; padding-bottom:390px !important; }
  .at_hero_title { font-size:clamp(3.15rem,13vw,5rem) !important; line-height:.89 !important; letter-spacing:-.04em !important; }
  .at_hero_text { font-size:1rem !important; }
  .at_hero_actions { align-items:flex-start; gap:14px; }
  .at_hero .at_btn { width:100%; }
  .at_hero .at_text_link { min-height:46px; }
  .at_hero_media { height:42%; }
  .at_hero_controls { left:16px; width:calc(100% - 32px); }
  .at_slide_arrows { display:none; }
  .at_impact_shell { padding:20px; }
  .at_impact_grid { grid-template-columns:1fr; }
  .at_stat { border-right:0; border-bottom:1px solid var(--at-line); padding:16px 8px; }
  .at_stat:last-child { border-bottom:0; }
  .at_artwork_frame { border-radius:12px; }
  .at_supporting_v10_media,
  .at_supporting_v10_media img { min-height:390px; }
  .at_supporting_v10_media img,
  .at_supporting_v10_frame { border-radius:12px; }
  .at_anonymous_v10_shell { border-radius:14px; }
  .at_path_visual_grid_v4 .at_path_visual,
  .at_stewardship_story,
  .at_programs_compact,
  .at_faq_visual_inner { border-radius:12px; }
  .at_donation_dock { width:66px; right:10px; bottom:10px; }
  .at_donation_dock_link { display:block; width:66px; min-height:66px; padding:4px; border-radius:12px; }
  .at_donation_heart { width:58px; height:58px; border-radius:9px; }
  .at_donation_dock_copy,.at_donation_dock_cta { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .at_hero_media,
  .at_process_v10_card,
  .at_process_v10_media img,
  .at_artwork_frame { transition:none !important; transform:none !important; }
}


/* ==========================================================
   V12.1.0 refinements — art-led cursor + slightly smaller hero title
   ========================================================== */
.at_cursor_ring_outer {
  position: absolute;
  overflow: visible;
  border-color: rgba(248, 245, 239, .34);
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.07), rgba(255,255,255,0) 68%);
  box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 12px 24px rgba(24,46,88,.08);
}
.at_cursor_ring_inner {
  background: linear-gradient(135deg, var(--at-blue), var(--at-rose));
  box-shadow: 0 0 0 6px rgba(30,110,182,.12), 0 0 18px rgba(201,130,120,.25);
}
.at_cursor_label {
  color: #fffaf3;
  text-shadow: 0 2px 12px rgba(18, 24, 33, .42);
}
.at_cursor_brush {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 36px;
  height: 14px;
  transform: translate(-50%, -50%) rotate(-18deg);
  border-radius: 18px 999px 999px 18px;
  background: linear-gradient(90deg, rgba(244,236,223,.12) 0%, rgba(100,159,214,.82) 16%, rgba(173,101,79,.92) 66%, rgba(173,101,79,0) 100%);
  box-shadow: 0 2px 12px rgba(24,46,88,.18);
  opacity: .92;
  filter: saturate(108%);
}
.at_cursor_brush::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.92), rgba(30,110,182,.85) 52%, rgba(24,46,88,.85) 100%);
  box-shadow: 0 0 0 1px rgba(255,255,255,.22);
}
.at_cursor_brush::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  width: 18px;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 0 999px 999px 0;
  background: linear-gradient(90deg, rgba(173,101,79,.78), rgba(173,101,79,0));
}
.at_cursor_sparkle {
  position: absolute;
  width: 14px;
  height: 14px;
  opacity: .78;
  filter: drop-shadow(0 1px 7px rgba(255,255,255,.35));
  animation: atCursorTwinkle 2.4s ease-in-out infinite;
}
.at_cursor_sparkle::before,
.at_cursor_sparkle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(100,159,214,.25));
  border-radius: 999px;
  transform: translate(-50%, -50%);
}
.at_cursor_sparkle::before { width: 2px; height: 14px; }
.at_cursor_sparkle::after { width: 14px; height: 2px; }
.at_cursor_sparkle_one { left: 1px; top: -10px; animation-delay: -.2s; }
.at_cursor_sparkle_two { right: -8px; top: 4px; animation-delay: -.9s; }
.at_cursor_sparkle_three { left: 10px; bottom: -8px; width: 10px; height: 10px; animation-delay: -1.4s; }
.at_cursor_sparkle_three::before { height: 10px; }
.at_cursor_sparkle_three::after { width: 10px; }
.at_cursor_sparkle_four { right: 7px; bottom: -11px; width: 9px; height: 9px; animation-delay: -1.9s; }
.at_cursor_sparkle_four::before { height: 9px; }
.at_cursor_sparkle_four::after { width: 9px; }
.at_cursor.is-active .at_cursor_ring_outer {
  width: 88px;
  height: 88px;
  border-color: rgba(100,159,214,.72);
  background: radial-gradient(circle at 50% 50%, rgba(24,46,88,.28), rgba(24,46,88,.08) 56%, rgba(24,46,88,0) 100%);
  box-shadow: 0 18px 42px rgba(24,46,88,.18), 0 0 0 1px rgba(255,255,255,.08);
}
.at_cursor.is-active .at_cursor_brush {
  width: 54px;
  height: 16px;
  transform: translate(-50%, -50%) rotate(-12deg);
}
.at_cursor.is-active .at_cursor_sparkle { opacity: 1; }
@keyframes atCursorTwinkle {
  0%, 100% { transform: scale(.72) rotate(0deg); opacity: .38; }
  40% { transform: scale(1) rotate(12deg); opacity: .9; }
  70% { transform: scale(.82) rotate(-10deg); opacity: .56; }
}
@media (prefers-reduced-motion: reduce) {
  .at_cursor_sparkle { animation: none; }
}

.at_hero_title {
  max-width: 760px;
  font-size: clamp(2.75rem, 5.45vw, 6rem);
  letter-spacing: -.058em;
}
@media (max-width: 991.98px) {
  .at_hero_title {
    font-size: clamp(2.45rem, 8.2vw, 4.55rem);
    line-height: .95;
  }
}
@media (max-width: 575.98px) {
  .at_hero_title { font-size: clamp(2.15rem, 10.8vw, 3.7rem); }
}


/* ==========================================================
   V12.2.0 painterly movement trail
   Cursor paints only while moving; marks dissolve immediately after.
   ========================================================== */
.at_cursor {
  transition: opacity .14s ease;
}
.at_cursor_ring_outer {
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transition: opacity .12s ease, width .22s ease, height .22s ease;
}
.at_cursor.is-moving .at_cursor_ring_outer { opacity: 1; }
.at_cursor_ring_inner {
  width: 5px;
  height: 5px;
  opacity: 0;
  box-shadow: none;
  transition: opacity .12s ease;
}
.at_cursor.is-moving .at_cursor_ring_inner { opacity: .92; }
.at_cursor_brush {
  width: 30px;
  height: 8px;
  border-radius: 999px 70% 70% 999px;
  background: linear-gradient(90deg, rgba(30,110,182,.05), rgba(30,110,182,.88) 22%, rgba(201,130,120,.84) 72%, rgba(201,130,120,0));
  box-shadow: 0 3px 11px rgba(24,46,88,.14);
  opacity: .92;
}
.at_cursor_brush::before {
  left: -5px;
  width: 8px;
  height: 8px;
}
.at_cursor_brush::after {
  right: -8px;
  width: 13px;
  height: 6px;
}
.at_cursor_sparkle { display: none; }
.at_cursor.is-active .at_cursor_ring_outer {
  width: 70px;
  height: 70px;
  border: 1px solid rgba(100,159,214,.54);
  background: rgba(24,46,88,.12);
  box-shadow: 0 12px 30px rgba(24,46,88,.12);
}
.at_cursor.is-active .at_cursor_brush { opacity: .35; }
.at_cursor.is-active .at_cursor_label { opacity: 1; }
.at_cursor:not(.is-moving):not(.is-active) .at_cursor_ring_inner,
.at_cursor:not(.is-moving):not(.is-active) .at_cursor_ring_outer { opacity: 0; }

.at_cursor_trail {
  position: fixed;
  inset: 0;
  z-index: 99997;
  pointer-events: none;
  overflow: hidden;
}
.at_cursor_paint_mark {
  position: absolute;
  width: var(--at-stroke-length, 28px);
  height: var(--at-stroke-width, 6px);
  transform: translate(-50%, -50%) rotate(var(--at-stroke-angle, 0deg)) scaleX(.72);
  transform-origin: center;
  border-radius: 999px 70% 70% 999px;
  background:
    linear-gradient(90deg,
      transparent 0%,
      color-mix(in srgb, var(--at-stroke-color) 72%, white 28%) 9%,
      var(--at-stroke-color) 37%,
      color-mix(in srgb, var(--at-stroke-color) 78%, #182f58 22%) 72%,
      transparent 100%);
  filter: saturate(108%);
  opacity: .82;
  will-change: transform, opacity, filter;
  animation: atPaintTrailFade .62s cubic-bezier(.2,.68,.28,1) forwards;
}
.at_cursor_paint_mark::before,
.at_cursor_paint_mark::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.at_cursor_paint_mark::before {
  inset: 1px 16% 1px 12%;
  border-top: 1px solid rgba(255,255,255,.26);
  border-bottom: 1px solid rgba(24,46,88,.11);
  border-radius: 999px;
  opacity: .65;
}
.at_cursor_paint_mark::after {
  right: -5px;
  top: 50%;
  width: 13px;
  height: 2px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: var(--at-stroke-color);
  box-shadow: 0 -3px 0 -1px var(--at-stroke-color), 0 3px 0 -1px var(--at-stroke-color);
  opacity: .48;
}
@keyframes atPaintTrailFade {
  0%   { opacity: 0; transform: translate(-50%, -50%) rotate(var(--at-stroke-angle)) scaleX(.48) scaleY(.82); filter: blur(.2px) saturate(115%); }
  16%  { opacity: .88; transform: translate(-50%, -50%) rotate(var(--at-stroke-angle)) scaleX(1) scaleY(1); }
  68%  { opacity: .42; }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--at-stroke-angle)) scaleX(1.08) scaleY(.72); filter: blur(1.5px) saturate(90%); }
}
@supports not (background: color-mix(in srgb, red, white)) {
  .at_cursor_paint_mark { background: linear-gradient(90deg, transparent, var(--at-stroke-color) 18%, var(--at-stroke-color) 76%, transparent); }
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .at_cursor_trail { display: none !important; }
}


/* ==========================================================
   V12.3.0 — native pointer + smoother disappearing paint trail
   ========================================================== */
body:is(.home,.page-template-page-homepage),
.at-cursor-enabled body:is(.home,.page-template-page-homepage) {
  cursor: auto !important;
}
.at_cursor { display: none !important; }

.at_cursor_trail {
  position: fixed;
  inset: 0;
  z-index: 99997;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}
.at_cursor_paint_mark {
  position: absolute;
  width: var(--at-stroke-length, 20px);
  height: var(--at-stroke-width, 4.5px);
  transform: translate(-50%, -50%) rotate(var(--at-stroke-angle, 0deg)) scaleX(.9);
  transform-origin: center;
  border-radius: 999px 72% 68% 999px;
  background:
    linear-gradient(90deg,
      transparent 0%,
      color-mix(in srgb, var(--at-stroke-color) 64%, white 36%) 8%,
      var(--at-stroke-color) 30%,
      color-mix(in srgb, var(--at-stroke-color) 88%, #182f58 12%) 76%,
      transparent 100%);
  opacity: .68;
  filter: saturate(104%) blur(.06px);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--at-stroke-color) 18%, transparent);
  will-change: transform, opacity, filter;
  animation: atPaintTrailSmoothFade .56s cubic-bezier(.18,.72,.24,1) forwards;
}
.at_cursor_paint_mark::before {
  content: "";
  position: absolute;
  inset: 1px 14% 1px 10%;
  border-top: 1px solid rgba(255,255,255,.19);
  border-radius: inherit;
  opacity: .56;
}
.at_cursor_paint_mark::after {
  content: "";
  position: absolute;
  right: -4px;
  top: 50%;
  width: 9px;
  height: 1px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: var(--at-stroke-color);
  box-shadow: 0 -2px 0 -0.5px var(--at-stroke-color), 0 2px 0 -0.5px var(--at-stroke-color);
  opacity: .28;
}
@keyframes atPaintTrailSmoothFade {
  0%   { opacity: 0; transform: translate(-50%, -50%) rotate(var(--at-stroke-angle)) scaleX(.72) scaleY(.82); filter: blur(.25px) saturate(108%); }
  12%  { opacity: .74; transform: translate(-50%, -50%) rotate(var(--at-stroke-angle)) scaleX(1) scaleY(1); }
  54%  { opacity: .47; }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--at-stroke-angle)) scaleX(1.04) scaleY(.78); filter: blur(1.15px) saturate(92%); }
}
@supports not (background: color-mix(in srgb, red, white)) {
  .at_cursor_paint_mark {
    background: linear-gradient(90deg, transparent, var(--at-stroke-color) 13%, var(--at-stroke-color) 80%, transparent);
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .at_cursor_trail { display: none !important; }
}


/* ==========================================================
   V12.4.0 — interactive gallery navigation + right-click paint palette
   ========================================================== */
@media (min-width: 992px) {
  .at_header_inner { gap: 24px; }
  .at_nav {
    --at-nav-glow-x: 50%;
    --at-nav-glow-y: 50%;
    position: relative;
    isolation: isolate;
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 5px;
    border: 1px solid rgba(24,47,88,.09);
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    box-shadow: 0 8px 26px rgba(24,47,88,.055), inset 0 1px 0 rgba(255,255,255,.8);
    backdrop-filter: blur(16px) saturate(130%);
    overflow: hidden;
    transition: border-color .28s ease, box-shadow .28s ease, background .28s ease;
  }
  .at_nav::before {
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background: radial-gradient(105px circle at var(--at-nav-glow-x) var(--at-nav-glow-y), rgba(100,159,214,.18), rgba(100,159,214,0) 72%);
    opacity:0;
    transition:opacity .24s ease;
    pointer-events:none;
  }
  .at_nav.is-pointer-active::before { opacity:1; }
  .at_header.is-scrolled .at_nav {
    background:rgba(255,255,255,.8);
    border-color:rgba(24,47,88,.11);
    box-shadow:0 10px 30px rgba(24,47,88,.075), inset 0 1px 0 rgba(255,255,255,.92);
  }
  .at_nav > a:not(.at_mobile_nav_donate) {
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 13px;
    border-radius:999px;
    color:rgba(24,47,88,.76);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.035em;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .24s ease, background .24s ease, box-shadow .24s ease, transform .24s ease;
  }
  .at_nav > a:not(.at_mobile_nav_donate)::after {
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    width:4px;
    height:4px;
    border:0;
    border-radius:50%;
    background:var(--at-blue);
    opacity:0;
    transform:translateX(-50%) scale(.3);
    transition:opacity .22s ease, transform .22s ease;
  }
  .at_nav > a:not(.at_mobile_nav_donate):hover,
  .at_nav > a:not(.at_mobile_nav_donate):focus-visible {
    color:var(--at-navy);
    background:rgba(255,255,255,.92);
    box-shadow:0 7px 18px rgba(24,47,88,.07);
    transform:translateY(-1px);
  }
  .at_nav > a:not(.at_mobile_nav_donate).is-active {
    color:#fff;
    background:linear-gradient(135deg,var(--at-navy),#214b80);
    box-shadow:0 8px 20px rgba(24,47,88,.18);
  }
  .at_nav > a:not(.at_mobile_nav_donate).is-active::after {
    background:#8fc3ef;
    opacity:1;
    transform:translateX(-50%) scale(1);
  }
  .at_nav > a:not(.at_mobile_nav_donate).is-active:hover { color:#fff; }
}

/* Right-click painter's palette. The normal browser pointer remains untouched. */
.at_trail_picker {
  --at-picker-color:#1e6eb6;
  position:fixed;
  z-index:100200;
  left:0;
  top:0;
  width:min(286px,calc(100vw - 24px));
  padding:17px;
  border:1px solid rgba(24,47,88,.11);
  border-radius:18px;
  color:var(--at-navy);
  background:rgba(252,251,248,.965);
  box-shadow:0 22px 70px rgba(24,47,88,.18), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(20px) saturate(135%);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px) scale(.98);
  transform-origin:top left;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  user-select:none;
}
.at_trail_picker.is-open {
  opacity:1;
  visibility:visible;
  transform:none;
}
.at_trail_picker_head { display:grid; gap:2px; margin-bottom:14px; }
.at_trail_picker_kicker {
  color:var(--at-blue);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.18em;
}
.at_trail_picker_head strong {
  color:var(--at-navy);
  font-family:var(--at-serif);
  font-size:1.28rem;
  font-weight:600;
  letter-spacing:-.02em;
}
.at_trail_color_field {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  padding:8px 9px 8px 13px;
  border:1px solid rgba(24,47,88,.09);
  border-radius:12px;
  background:#fff;
  color:rgba(24,47,88,.72);
  font-size:.72rem;
  font-weight:700;
}
.at_trail_color_input {
  width:52px;
  height:32px;
  padding:2px;
  border:1px solid rgba(24,47,88,.12);
  border-radius:9px;
  background:#fff;
  cursor:pointer;
}
.at_trail_color_input::-webkit-color-swatch-wrapper { padding:2px; }
.at_trail_color_input::-webkit-color-swatch { border:0; border-radius:6px; }
.at_trail_color_input::-moz-color-swatch { border:0; border-radius:6px; }
.at_trail_swatches { display:flex; align-items:center; gap:9px; padding:13px 1px 12px; }
.at_trail_swatch {
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--at-swatch);
  box-shadow:0 0 0 1px rgba(24,47,88,.1), 0 5px 12px rgba(24,47,88,.08);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}
.at_trail_swatch:hover,
.at_trail_swatch:focus-visible {
  transform:translateY(-2px) scale(1.06);
  box-shadow:0 0 0 2px rgba(30,110,182,.16), 0 8px 16px rgba(24,47,88,.12);
}
.at_trail_picker_footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:11px;
  border-top:1px solid rgba(24,47,88,.08);
}
.at_trail_picker_status {
  min-width:0;
  color:rgba(24,47,88,.54);
  font-size:.62rem;
  font-weight:650;
  line-height:1.3;
}
.at_trail_reset {
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(24,47,88,.11);
  border-radius:999px;
  color:var(--at-navy);
  background:#fff;
  font-size:.65rem;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.at_trail_reset:hover,
.at_trail_reset:focus-visible { color:#fff; border-color:var(--at-blue); background:var(--at-blue); }
.at_trail_picker button:focus-visible,
.at_trail_picker input:focus-visible { outline:2px solid var(--at-blue); outline-offset:2px; }
@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce) {
  .at_trail_picker { display:none !important; }
}


/* ==========================================================
   V12.5.0 — gallery-paced scrolling, layered canvas reveals
   ========================================================== */
.at_scroll_paint_progress {
  position: fixed;
  z-index: 100250;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .28s ease;
}
.at_scroll_paint_progress.is-started { opacity: .92; }
.at_scroll_paint_progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background:
    linear-gradient(90deg, #182f58 0%, #1e6eb6 34%, #649fd6 58%, #c98278 78%, #ad654f 100%);
  box-shadow: 0 1px 10px rgba(30,110,182,.22);
  will-change: transform;
}

/* Sections get a quiet sense of depth as they become the active gallery room. */
.at_art_scroll_section {
  position: relative;
  isolation: isolate;
}
.at_art_scroll_section::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 10%;
  width: min(820px, 72vw);
  height: min(420px, 44vw);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, 42px, 0) scale(.86);
  background: radial-gradient(ellipse at center, rgba(100,159,214,.075), rgba(201,130,120,.028) 42%, transparent 72%);
  filter: blur(10px);
  transition: opacity 1.1s ease, transform 1.3s cubic-bezier(.2,.7,.2,1);
}
.at_art_scroll_section.is-art-active::before {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1);
}

/* Media appears as though a soft sheet of prepared canvas is being pulled away. */
.at_canvas_reveal {
  position: relative;
  overflow: hidden;
}
.at_canvas_reveal_wipe {
  position: absolute;
  z-index: 25;
  inset: -2px;
  pointer-events: none;
  transform: scaleX(1.012);
  transform-origin: right center;
  background:
    linear-gradient(112deg, rgba(252,249,243,.99), rgba(244,236,223,.98) 46%, rgba(230,218,202,.96)),
    repeating-linear-gradient(0deg, rgba(24,47,88,.025) 0 1px, transparent 1px 4px);
  box-shadow: -18px 0 32px rgba(24,47,88,.04);
  transition: transform 1.08s cubic-bezier(.72,0,.18,1) .08s;
  will-change: transform;
}
.at_canvas_reveal_wipe::after {
  content:"";
  position:absolute;
  left:-24px;
  top:0;
  width:28px;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(30,110,182,.09), rgba(201,130,120,.12), transparent);
  filter:blur(3px);
}
.at_canvas_reveal.is-canvas-visible > .at_canvas_reveal_wipe {
  transform: scaleX(0);
}

/* Reveal states use transform/opacity only; GSAP removes transforms after entry. */
.at_art_scroll_enabled .at_reveal {
  will-change: transform, opacity;
}
.at_art_scroll_enabled .at_reveal.is-art-visible {
  will-change: auto;
}

/* Copy gets a subtle ink-settling effect without reducing readability. */
.at_art_scroll_enabled .at_section_copy.is-art-revealing h2,
.at_art_scroll_enabled .at_supporting_v10_copy.is-art-revealing h2,
.at_art_scroll_enabled .at_philosophy_copy.is-art-revealing h2,
.at_art_scroll_enabled .at_faq_heading.is-art-revealing h2,
.at_art_scroll_enabled .at_dual_intro.is-art-revealing h2,
.at_art_scroll_enabled .at_process_v10_head.is-art-revealing h2 {
  animation: atInkSettle .92s cubic-bezier(.2,.72,.2,1) both;
}
@keyframes atInkSettle {
  0% { letter-spacing: -.025em; text-shadow: 0 10px 26px rgba(30,110,182,.10); }
  100% { letter-spacing: inherit; text-shadow: none; }
}

/* Hover feedback feels tactile but remains restrained, like handling a print. */
@media (hover:hover) and (pointer:fine) {
  .at_process_v10_card,
  .at_path_visual,
  .at_stewardship_story,
  .at_anonymous_v10_shell,
  .at_impact_shell {
    transform-style: preserve-3d;
  }
  .at_process_v10_card:hover,
  .at_path_visual:hover,
  .at_stewardship_story:hover {
    box-shadow: 0 28px 72px rgba(24,47,88,.11);
  }
}

@media (max-width: 991.98px) {
  .at_scroll_paint_progress { height: 2px; }
  .at_art_scroll_section::before {
    width: 92vw;
    height: 58vw;
    top: 14%;
    filter: blur(14px);
  }
  .at_canvas_reveal_wipe { transition-duration: .88s; }
}

@media (prefers-reduced-motion: reduce) {
  .at_scroll_paint_progress { display:none !important; }
  .at_art_scroll_section::before { display:none !important; }
  .at_canvas_reveal_wipe { display:none !important; }
  .at_art_scroll_enabled .at_reveal { will-change:auto; }
}


/* ==========================================================
   V12.6.0 — native-smooth, one-way gallery reveal system
   ========================================================== */
/* The browser remains in full control of scrolling. No scroll-jacking, no
   scrubbed section timelines, and no reverse reveal on upward scrolling. */
.at_one_way_reveals.at_art_scroll_enabled .at_reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity .68s cubic-bezier(.2,.72,.2,1) var(--at-reveal-delay, 0ms),
    transform .78s cubic-bezier(.2,.72,.2,1) var(--at-reveal-delay, 0ms);
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.at_one_way_reveals.at_art_scroll_enabled .at_reveal.is-art-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* Fine details use a shorter one-shot motion so lists don't feel heavy. */
.at_one_way_reveals .at_detail_reveal {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition:
    opacity .46s ease-out var(--at-detail-delay, 0ms),
    transform .54s cubic-bezier(.2,.72,.2,1) var(--at-detail-delay, 0ms);
  will-change: opacity, transform;
}
.at_one_way_reveals .at_detail_reveal.is-detail-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* A faster canvas uncover feels responsive rather than sticky. */
.at_one_way_reveals .at_canvas_reveal_wipe {
  transition: transform .74s cubic-bezier(.58,.08,.16,1) .02s;
}

/* The old V7 base transform must not re-apply after a reveal has completed. */
.js .at_one_way_reveals .at_reveal.is-art-visible {
  opacity: 1;
  transform: none;
}

/* Reversible scroll-linked image transforms are intentionally disabled. */
.at_one_way_reveals .at_hero_media,
.at_one_way_reveals [data-cta-media] img {
  will-change: auto;
}

@media (max-width: 991.98px) {
  .at_one_way_reveals.at_art_scroll_enabled .at_reveal {
    transform: translate3d(0, 17px, 0);
    transition-duration: .56s, .64s;
  }
  .at_one_way_reveals .at_detail_reveal {
    transform: translate3d(0, 8px, 0);
  }
  .at_one_way_reveals .at_canvas_reveal_wipe {
    transition-duration: .62s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .at_one_way_reveals .at_reveal,
  .at_one_way_reveals .at_detail_reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ==========================================================
   ArtTruistic V13.0.0 — smooth gallery motion + branded pages
   ========================================================== */

/* Lenis recommended baseline. It is activated only by JS on fine-pointer desktop. */
html.at-lenis-active,
html.at-lenis-active body { height:auto; }
html.at-lenis-active { scroll-behavior:auto !important; }
html.at-lenis-active [data-lenis-prevent] { overscroll-behavior:contain; }
html.at-lenis-active.lenis-stopped { overflow:hidden; }
html.at-lenis-active iframe { pointer-events:none; }

/* V13 intentionally disables the older layered scroll effects. They were visually
   rich, but multiple simultaneous transforms made wheel/trackpad input feel heavy. */
.at_art_scroll_section::before,
.at_canvas_reveal_wipe,
.at_scroll_paint_progress { display:none !important; }

/* One transition per reveal, once. JS permanently settles the element afterward. */
.at_v13_motion .at_reveal:not(.is-art-settled) {
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity .48s cubic-bezier(.22,.7,.2,1) var(--at-v13-delay,0ms),
    transform .58s cubic-bezier(.22,.7,.2,1) var(--at-v13-delay,0ms);
  will-change:opacity,transform;
  backface-visibility:hidden;
}
.at_v13_motion .at_reveal.is-art-visible,
.at_v13_motion .at_reveal.is-art-settled {
  opacity:1;
  transform:none;
}
.at_v13_motion .at_reveal.is-art-settled { transition:none !important; will-change:auto; }

/* Disable legacy detail/reveal rules so upward scrolling can never hide content. */
.at_one_way_reveals .at_detail_reveal,
.at_one_way_reveals.at_art_scroll_enabled .at_reveal,
.at_art_scroll_enabled .at_reveal {
  opacity:1;
  transform:none;
}
.at_detail_reveal { opacity:1 !important; transform:none !important; }

/* Internal branded page reset: uses the same art-gallery system as the homepage. */
body.arttruistic-brand-page {
  min-width:320px;
  margin:0;
  overflow-x:hidden;
  background:var(--at-paper,#fcfbf8);
  color:var(--at-ink);
  font-family:var(--at-font);
  cursor:auto !important;
}
body.arttruistic-brand-page #page,
body.arttruistic-brand-page .site {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
body.arttruistic-brand-page #masthead,
body.arttruistic-brand-page #colophon { display:none !important; }
body.arttruistic-brand-page.admin-bar .at_header { top:32px; }
.at_inner_site { background:#fcfbf8; }
.at_inner_main { overflow:clip; }

/* Keep the requested five-link navigation as the visual center. */
.at_inner_header .at_nav > a,
.at_header .at_nav > a:not(.at_mobile_nav_donate) {
  min-width:auto;
}
.at_inner_header .at_nav > a.is-active,
.at_header .at_nav > a.is-active {
  color:#fff !important;
  background:linear-gradient(135deg,var(--at-navy),#214b80);
  box-shadow:0 8px 22px rgba(24,47,88,.14);
}

/* Interior page hero: exhibition-cover proportions rather than another homepage hero. */
.at_inner_hero {
  position:relative;
  display:flex;
  min-height:clamp(560px,74vh,760px);
  align-items:flex-end;
  overflow:hidden;
  background:var(--at-navy);
  color:#fff;
}
.at_inner_hero_compact { min-height:clamp(500px,62vh,660px); }
.at_inner_hero_media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none !important;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
}
.at_inner_hero_overlay {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(13,29,53,.88) 0%,rgba(16,39,71,.66) 48%,rgba(17,38,65,.22) 82%),
    linear-gradient(0deg,rgba(18,28,42,.70),transparent 58%);
}
.at_inner_hero_content {
  position:relative;
  z-index:2;
  width:100%;
  padding-top:170px;
  padding-bottom:clamp(68px,8vw,112px);
}
.at_inner_hero_content h1 {
  max-width:900px;
  margin:0;
  color:#fff;
  font-family:var(--at-serif);
  font-size:clamp(3.05rem,6.2vw,6.6rem);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.94;
  text-wrap:balance;
}
.at_inner_hero_content > p:not(.at_kicker) {
  max-width:700px;
  margin:26px 0 0;
  color:rgba(255,255,255,.82);
  font-size:clamp(1rem,1.35vw,1.2rem);
  line-height:1.72;
}
.at_inner_hero_content .at_btn { margin-top:30px; }
.at_inner_hero_quote {
  font-family:var(--at-serif);
  font-size:clamp(1.2rem,2vw,1.65rem) !important;
  font-style:italic;
}

.at_inner_section { background:#fcfbf8; }
.at_inner_section_tint {
  background:
    linear-gradient(rgba(246,242,234,.94),rgba(246,242,234,.94)),
    url('../images/canvas-texture.webp') center/520px auto repeat;
}
.at_inner_split {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(42px,7vw,104px);
  align-items:center;
}
.at_inner_split_reverse > :first-child { order:2; }
.at_inner_split_reverse > :last-child { order:1; }
.at_inner_copy h2,
.at_inner_heading h2,
.at_contact_intro h2,
.at_inner_donate_cta h2 {
  max-width:920px;
  margin:0;
  color:var(--at-navy);
  font-family:var(--at-serif);
  font-size:clamp(2.65rem,4.9vw,5.1rem);
  font-weight:600;
  letter-spacing:-.048em;
  line-height:.98;
}
.at_inner_rich {
  margin-top:30px;
  color:#39465a;
  font-size:clamp(1.02rem,1.25vw,1.15rem);
  line-height:1.82;
}
.at_inner_rich p { margin:0 0 1.15em; }
.at_inner_rich p:last-child { margin-bottom:0; }
.at_inner_artwork,
.at_inner_media {
  position:relative;
  overflow:hidden;
  margin:0;
  border-radius:18px;
  background:#eee8df;
  box-shadow:0 24px 70px rgba(45,38,33,.12);
}
.at_inner_artwork::after,
.at_inner_media::after {
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:12px;
  pointer-events:none;
}
.at_inner_artwork img,
.at_inner_media img { display:block; width:100%; min-height:520px; object-fit:cover; }
.at_inner_artwork figcaption {
  position:absolute;
  z-index:2;
  right:22px;
  bottom:22px;
  display:grid;
  gap:3px;
  max-width:80%;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:10px;
  background:rgba(252,249,243,.9);
  backdrop-filter:blur(12px);
}
.at_inner_artwork figcaption span { color:var(--at-blue); font-size:.62rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.at_inner_artwork figcaption strong { color:var(--at-navy); }

.at_inner_statement_list,
.at_inner_points_panel ul {
  display:grid;
  gap:0;
  margin:30px 0 0;
  padding:0;
  list-style:none;
}
.at_inner_statement_list li,
.at_inner_points_panel li {
  position:relative;
  margin:0;
  padding:16px 0 16px 30px;
  border-bottom:1px solid rgba(24,47,88,.11);
  color:var(--at-navy);
  font-size:.98rem;
  line-height:1.6;
}
.at_inner_statement_list li::before,
.at_inner_points_panel li::before {
  content:"";
  position:absolute;
  left:2px;
  top:24px;
  width:11px;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--at-blue),var(--at-clay));
}
.at_inner_closing {
  margin:26px 0 0;
  color:var(--at-navy);
  font-family:var(--at-serif);
  font-size:clamp(1.25rem,2vw,1.75rem);
  font-style:italic;
}

.at_inner_heading { max-width:900px; margin-bottom:50px; }
.at_inner_process_grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid rgba(24,47,88,.13);
  border-bottom:1px solid rgba(24,47,88,.13);
}
.at_inner_process_card {
  min-width:0;
  padding:30px 24px 34px;
  border-right:1px solid rgba(24,47,88,.13);
}
.at_inner_process_card:last-child { border-right:0; }
.at_inner_process_card > span { color:var(--at-blue); font-size:.68rem; font-weight:800; letter-spacing:.1em; }
.at_inner_process_card h3 { margin:20px 0 12px; color:var(--at-navy); font-size:1.08rem; line-height:1.25; }
.at_inner_process_card p { margin:0; color:#5c6878; font-size:.88rem; line-height:1.66; }

.at_inner_support {
  color:#fff;
  background:linear-gradient(145deg,#102644,var(--at-navy) 54%,#1a5d98);
}
.at_inner_support .at_inner_copy h2,
.at_inner_support .at_inner_rich { color:#fff; }
.at_inner_support .at_inner_rich { color:rgba(255,255,255,.78); }

.at_inner_points_panel {
  padding:clamp(28px,4vw,48px);
  border:1px solid rgba(24,47,88,.11);
  border-radius:18px;
  background:
    linear-gradient(rgba(250,246,239,.94),rgba(250,246,239,.94)),
    url('../images/canvas-texture.webp') center/460px auto repeat;
}
.at_inner_points_panel ul { margin:0; }

.at_inner_finance_grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(40px,7vw,96px);
  align-items:start;
}
.at_inner_stats { display:grid; gap:1px; overflow:hidden; border-radius:16px; background:rgba(24,47,88,.12); }
.at_inner_stats > div { display:grid; gap:8px; padding:28px; background:#fff; }
.at_inner_stats strong { color:var(--at-navy); font-family:var(--at-serif); font-size:clamp(2rem,3.4vw,3.7rem); font-weight:600; line-height:1; }
.at_inner_stats span { color:#637083; font-size:.84rem; line-height:1.55; }

.at_inner_donate_cta {
  position:relative;
  overflow:hidden;
  padding:clamp(88px,10vw,150px) 0;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 15% 30%,rgba(100,159,214,.26),transparent 34%),
    radial-gradient(circle at 87% 70%,rgba(201,130,120,.22),transparent 30%),
    var(--at-navy);
}
.at_inner_donate_cta .container { max-width:1000px; }
.at_inner_donate_cta h2 { margin-inline:auto; color:#fff; }
.at_inner_donate_cta > .container > p:not(.at_kicker) { max-width:730px; margin:28px auto 0; color:rgba(255,255,255,.78); line-height:1.75; }
.at_inner_donate_cta .at_btn { margin-top:32px; }

/* FAQ page */
.at_inner_faq_layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.42fr); gap:clamp(44px,7vw,96px); align-items:start; }
.at_inner_faq_art { position:sticky; top:120px; overflow:hidden; border-radius:18px; background:var(--at-navy); }
.at_inner_faq_art img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; opacity:.76; }
.at_inner_faq_art p { margin:0; padding:26px; color:#fff; font-family:var(--at-serif); font-size:1.35rem; font-style:italic; line-height:1.45; }

/* Contact form */
.at_contact_layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(48px,8vw,120px); align-items:start; }
.at_contact_form_shell {
  padding:clamp(28px,4vw,48px);
  border:1px solid rgba(24,47,88,.1);
  border-radius:20px;
  background:#fff;
  box-shadow:0 26px 70px rgba(24,47,88,.08);
}
.at_contact_form { display:grid; gap:20px; }
.at_form_grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.at_contact_form label { display:grid; gap:8px; color:var(--at-navy); font-size:.76rem; font-weight:800; letter-spacing:.035em; }
.at_contact_form input,
.at_contact_form textarea {
  width:100%;
  min-height:52px;
  border:1px solid rgba(24,47,88,.16);
  border-radius:10px;
  padding:13px 15px;
  outline:0;
  color:#26354a;
  background:#fcfbf8;
  font:500 1rem/1.4 var(--at-font);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.at_contact_form textarea { min-height:160px; resize:vertical; }
.at_contact_form input:focus,
.at_contact_form textarea:focus { border-color:var(--at-blue); background:#fff; box-shadow:0 0 0 4px rgba(30,110,182,.1); }
.at_contact_form .at_btn { justify-self:start; }
.at_hp_field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.at_form_notice { margin-bottom:18px; border-radius:10px; padding:13px 15px; font-size:.9rem; line-height:1.5; }
.at_form_notice.is-success { color:#1c5135; background:#edf8f1; border:1px solid #cce9d6; }
.at_form_notice.is-error { color:#7a3028; background:#fff2f0; border:1px solid #f0d1cc; }

/* Internal footer starts directly after the page body. */
.at_inner_footer { margin-top:0; }

@media (max-width:1199.98px) {
  .at_inner_process_grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .at_inner_process_card { border-bottom:1px solid rgba(24,47,88,.13); }
  .at_inner_process_card:nth-child(2n) { border-right:0; }
  .at_inner_process_card:last-child { grid-column:1/-1; border-bottom:0; }
}

@media (max-width:991.98px) {
  .at_inner_hero { min-height:620px; }
  .at_inner_hero_content { padding-top:150px; padding-bottom:76px; }
  .at_inner_hero_content h1 { font-size:clamp(2.75rem,10vw,5rem); }
  .at_inner_split,
  .at_inner_finance_grid,
  .at_inner_faq_layout,
  .at_contact_layout { grid-template-columns:1fr; }
  .at_inner_split_reverse > :first-child,
  .at_inner_split_reverse > :last-child { order:initial; }
  .at_inner_artwork img,
  .at_inner_media img { min-height:420px; }
  .at_inner_faq_art { position:relative; top:auto; }
  .at_inner_faq_art img { aspect-ratio:16/9; }
  .at_inner_header .at_header_actions { display:none; }
}

@media (max-width:575.98px) {
  .at_inner_hero { min-height:560px; }
  .at_inner_hero_content { padding-top:128px; padding-bottom:58px; }
  .at_inner_hero_content h1 { font-size:clamp(2.4rem,12vw,4rem); }
  .at_inner_process_grid { grid-template-columns:1fr; }
  .at_inner_process_card,
  .at_inner_process_card:nth-child(2n) { border-right:0; border-bottom:1px solid rgba(24,47,88,.13); }
  .at_inner_process_card:last-child { grid-column:auto; border-bottom:0; }
  .at_form_grid { grid-template-columns:1fr; }
  .at_contact_form_shell { padding:24px 18px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .at_v13_motion .at_reveal { opacity:1 !important; transform:none !important; transition:none !important; }
}


/* V13.1 — About page contrast correction. The Supporting Artists in Need panel is dark,
   so all body copy must explicitly inherit a light high-contrast color. */
.at_inner_support .at_inner_copy h2 { color:#ffffff !important; }
.at_inner_support .at_kicker,
.at_inner_support .at_inner_rich,
.at_inner_support .at_inner_rich p,
.at_inner_support .at_inner_rich strong,
.at_inner_support .at_inner_rich em { color:rgba(255,255,255,.90) !important; }
.at_inner_support .at_kicker { color:#b8d8f5 !important; }

/* Source-only footer: simple, clean navigation without generated section labels. */
.at_footer_top_source_only { grid-template-columns:minmax(220px,1.1fr) minmax(240px,.8fr) minmax(260px,1fr); }
.at_footer_nav_source { display:flex; flex-wrap:wrap; align-content:flex-start; gap:12px 22px; }
.at_footer_nav_source a { width:auto; }
@media (max-width:991.98px) { .at_footer_top_source_only { grid-template-columns:1fr; } }


/* ==========================================================
   V13.2 — compact footer + restored Phillips360 credit
   ========================================================== */
.at_footer {
  padding:46px 0 18px;
}
.at_footer_top_source_only {
  grid-template-columns:minmax(230px,1fr) minmax(330px,1.2fr) minmax(250px,.9fr);
  gap:34px;
  align-items:start;
}
.at_footer_brand img {
  width:148px;
  height:auto;
}
.at_footer_brand p {
  max-width:290px;
  margin-top:10px;
  font-size:.88rem;
  line-height:1.55;
}
.at_footer_nav_source {
  gap:9px 22px;
  padding-top:4px;
}
.at_footer_nav_source a {
  font-size:.82rem;
}
.at_footer_message {
  padding-top:2px;
}
.at_footer_message h3 {
  margin-bottom:7px;
  font-size:.72rem;
  letter-spacing:.08em;
}
.at_footer_message p {
  margin-bottom:4px;
  font-size:.84rem;
  line-height:1.5;
}
.at_footer_disclosure {
  gap:12px;
  margin-top:26px;
  padding:13px 15px;
  border-radius:10px;
}
.at_footer_disclosure_icon {
  width:25px;
  flex-basis:25px;
}
.at_footer_disclosure p {
  font-size:.76rem;
  line-height:1.55;
}
.at_footer_bottom {
  grid-template-columns:1fr auto;
  gap:20px;
  margin-top:16px;
  padding-top:15px;
  font-size:.72rem;
}
.at_footer_bottom .at_footer_copyright {
  justify-self:start;
  color:rgba(255,255,255,.58);
}
.at_footer_bottom .at_footer_credit {
  justify-self:end;
  text-align:right;
  color:rgba(255,255,255,.58);
}
.at_footer_bottom .at_footer_credit a {
  color:rgba(255,255,255,.92);
  font-weight:700;
}
@media (max-width:991.98px) {
  .at_footer { padding-top:38px; }
  .at_footer_top_source_only {
    grid-template-columns:1fr 1fr;
    gap:26px 28px;
  }
  .at_footer_brand { grid-column:1 / -1; }
  .at_footer_brand p { max-width:440px; }
  .at_footer_disclosure { margin-top:22px; }
}
@media (max-width:575.98px) {
  .at_footer { padding:32px 0 16px; }
  .at_footer_top_source_only {
    grid-template-columns:1fr;
    gap:20px;
  }
  .at_footer_brand { grid-column:auto; }
  .at_footer_brand img { width:132px; }
  .at_footer_nav_source { gap:8px 18px; }
  .at_footer_message { padding-top:0; }
  .at_footer_disclosure {
    margin-top:20px;
    padding:12px;
  }
  .at_footer_bottom {
    grid-template-columns:1fr;
    gap:7px;
    margin-top:14px;
    padding-top:13px;
  }
  .at_footer_bottom .at_footer_copyright,
  .at_footer_bottom .at_footer_credit {
    justify-self:start;
    text-align:left;
  }
}


/* ==========================================================
   V13.3 — native scroll, permanent reveals, global glass donation
   ========================================================== */
/* Keep wheel/trackpad scrolling entirely native. */
html.at-lenis-active,
html.at-lenis-active body {
  height:auto !important;
  scroll-behavior:auto !important;
}

/* A single lightweight entrance. Once JS finishes it removes .at_reveal,
   so these rules can never run in reverse on upward scrolling. */
html.js .at_site.at_v133_motion .at_reveal {
  opacity:0 !important;
  transform:translate3d(0,12px,0) !important;
  transition:
    opacity .42s cubic-bezier(.22,.72,.2,1) var(--at-v133-delay,0ms),
    transform .46s cubic-bezier(.22,.72,.2,1) var(--at-v133-delay,0ms) !important;
  will-change:opacity,transform;
  backface-visibility:hidden;
}
html.js .at_site.at_v133_motion .at_reveal.is-v133-visible {
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
}
@media (prefers-reduced-motion:reduce) {
  html.js .at_site.at_v133_motion .at_reveal {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* Links and interactive controls always advertise clickability. */
body.arttruistic-brand-page a,
body.arttruistic-brand-page button,
body.arttruistic-brand-page summary,
body.arttruistic-brand-page [role="button"],
body.arttruistic-brand-page input[type="submit"],
body.arttruistic-brand-page input[type="button"] {
  cursor:pointer !important;
}

/* Compact site-wide glass donation control. The aside itself never blocks the
   page; only the actual button surface receives pointer input. */
.at_donation_dock,
.at_donation_dock.is-visible {
  right:20px !important;
  bottom:20px !important;
  width:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:none !important;
}
.at_donation_dock_link {
  pointer-events:auto !important;
  display:inline-flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  gap:10px !important;
  width:auto !important;
  min-height:58px !important;
  padding:8px 14px 8px 8px !important;
  border:1px solid rgba(255,255,255,.46) !important;
  border-radius:18px !important;
  color:#17365f !important;
  background:rgba(255,255,255,.34) !important;
  box-shadow:0 14px 40px rgba(14,35,68,.14) !important;
  -webkit-backdrop-filter:blur(16px) saturate(135%) !important;
  backdrop-filter:blur(16px) saturate(135%) !important;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease !important;
}
.at_donation_dock_link:hover {
  background:rgba(255,255,255,.50) !important;
  border-color:rgba(255,255,255,.68) !important;
  box-shadow:0 18px 46px rgba(14,35,68,.18) !important;
}
.at_donation_heart {
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border-radius:13px !important;
  color:#fff !important;
  background:linear-gradient(145deg,rgba(24,47,88,.94),rgba(30,110,182,.90)) !important;
  box-shadow:0 8px 20px rgba(24,47,88,.20) !important;
}
.at_donation_heart svg { width:24px !important; height:24px !important; }
.at_donation_heart_shape { fill:rgba(255,255,255,.10) !important; stroke:#fff !important; stroke-width:2 !important; }
.at_donation_heart_label,
.at_donation_heart_ring,
.at_donation_heartbeat,
.at_donation_dock_copy { display:none !important; }
.at_donation_dock_cta {
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#17365f !important;
  font-size:.76rem !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.at_donation_dock_cta svg { width:17px !important; }

@media (max-width:575.98px) {
  .at_donation_dock,
  .at_donation_dock.is-visible {
    right:12px !important;
    bottom:12px !important;
  }
  .at_donation_dock_link {
    min-height:52px !important;
    padding:6px 11px 6px 6px !important;
    border-radius:16px !important;
  }
  .at_donation_heart {
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .at_donation_dock_cta { font-size:.72rem !important; }
}


/* ==========================================================
   V13.4 — gallery motion + donation heartbeat
   ========================================================== */
/* Override the previous one-way reveal rules. Native scroll stays untouched. */
html.js .at_site.at_v133_motion .at_reveal,
html.js .at_site.at_v133_motion .at_reveal.is-v133-visible {
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

html.js .at_site.at_v134_gallery_motion .at_reveal {
  opacity:0 !important;
  transform:
    translate3d(var(--at-reveal-x,0px), var(--at-reveal-y,40px), 0)
    rotate(var(--at-reveal-r,0deg))
    scale(.985) !important;
  transition:
    opacity .82s cubic-bezier(.16,.84,.22,1) var(--at-reveal-delay,0ms),
    transform 1.02s cubic-bezier(.16,.84,.22,1) var(--at-reveal-delay,0ms) !important;
  will-change:opacity,transform;
  backface-visibility:hidden;
  transform-origin:50% 58%;
}
html.js .at_site.at_v134_gallery_motion .at_reveal.is-v134-visible {
  opacity:1 !important;
  transform:translate3d(0,0,0) rotate(0deg) scale(1) !important;
}

/* Image-led sections get a subtle gallery-print zoom as they arrive. */
html.js .at_site.at_v134_gallery_motion .at_reveal img {
  transition:transform 1.25s cubic-bezier(.16,.84,.22,1) !important;
}
html.js .at_site.at_v134_gallery_motion .at_reveal:not(.is-v134-visible) img {
  transform:scale(1.035);
}
html.js .at_site.at_v134_gallery_motion .at_reveal.is-v134-visible img {
  transform:scale(1);
}

/* Process cards read like individual pieces being placed on a gallery wall. */
html.js .at_site.at_v134_gallery_motion .at_process_v10_card.at_reveal:nth-child(odd) {
  --at-reveal-x:-28px;
  --at-reveal-r:-.7deg;
}
html.js .at_site.at_v134_gallery_motion .at_process_v10_card.at_reveal:nth-child(even) {
  --at-reveal-x:28px;
  --at-reveal-r:.7deg;
}

/* The floating donation heart stays alive without covering content. */
.at_donation_heart {
  isolation:isolate;
  overflow:visible !important;
  animation:atV134HeartBeat 2.15s cubic-bezier(.4,0,.2,1) infinite !important;
  transform-origin:center;
}
.at_donation_heart::before,
.at_donation_heart::after {
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border:1px solid rgba(30,110,182,.50);
  border-radius:17px;
  opacity:0;
  pointer-events:none;
  animation:atV134HeartRipple 2.15s ease-out infinite;
}
.at_donation_heart::after {
  animation-delay:1.075s;
  border-color:rgba(201,130,120,.42);
}
.at_donation_heart svg {
  animation:atV134HeartGlyph 2.15s cubic-bezier(.4,0,.2,1) infinite;
  transform-origin:center;
}
.at_donation_heart_shape {
  animation:atV134HeartFill 2.15s ease-in-out infinite;
}
.at_donation_dock_link::after {
  content:"";
  position:absolute;
  inset:1px;
  border-radius:17px;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 20%,rgba(255,255,255,.34) 46%,transparent 70%);
  transform:translateX(-135%);
  animation:atV134DonateShimmer 4.8s ease-in-out infinite;
}
@keyframes atV134HeartBeat {
  0%,58%,100% { transform:scale(1); box-shadow:0 8px 20px rgba(24,47,88,.20); }
  64% { transform:scale(1.10); box-shadow:0 12px 28px rgba(30,110,182,.34); }
  70% { transform:scale(.98); }
  76% { transform:scale(1.075); }
  84% { transform:scale(1); }
}
@keyframes atV134HeartGlyph {
  0%,58%,100% { transform:scale(1); }
  64% { transform:scale(1.12); }
  70% { transform:scale(.96); }
  76% { transform:scale(1.08); }
}
@keyframes atV134HeartFill {
  0%,55%,100% { fill:rgba(255,255,255,.10); }
  65%,78% { fill:rgba(255,255,255,.28); }
}
@keyframes atV134HeartRipple {
  0%,55% { transform:scale(.88); opacity:0; }
  64% { opacity:.52; }
  100% { transform:scale(1.65); opacity:0; }
}
@keyframes atV134DonateShimmer {
  0%,67%,100% { transform:translateX(-135%); opacity:0; }
  72% { opacity:.85; }
  88% { transform:translateX(135%); opacity:0; }
}

@media (prefers-reduced-motion:reduce) {
  html.js .at_site.at_v134_gallery_motion .at_reveal,
  html.js .at_site.at_v134_gallery_motion .at_reveal img {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .at_donation_heart,
  .at_donation_heart svg,
  .at_donation_heart_shape,
  .at_donation_heart::before,
  .at_donation_heart::after,
  .at_donation_dock_link::after {
    animation:none !important;
  }
}


/* ==========================================================
   ArtTruistic V13.6.0 — refined logo scale and header proportions
   ========================================================== */
.at_header {
  min-height: 140px;
  padding: 8px 28px;
  background: rgba(252,251,248,.965);
  border-bottom: 1px solid rgba(24,47,88,.085);
  box-shadow: 0 8px 34px rgba(24,47,88,.055);
  backdrop-filter: blur(20px) saturate(132%);
  -webkit-backdrop-filter: blur(20px) saturate(132%);
  transition: min-height .3s ease, padding .3s ease, background .3s ease, box-shadow .3s ease;
}
.at_header_inner {
  grid-template-columns: 214px minmax(0,1fr) auto;
  min-height: 120px;
  gap: clamp(26px,2.5vw,42px);
}
.at_brand {
  width: 190px;
  max-width: 100%;
  transition: width .3s ease, transform .3s ease;
}
.at_brand img,
.at_header.is-scrolled .at_brand img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
  object-position: left center;
}
.at_header .at_nav {
  align-items: center;
}
.at_header .at_nav > a:not(.at_mobile_nav_donate) {
  padding: 11px 4px;
}
.at_header_actions .at_btn {
  min-height: 48px;
  padding-inline: 22px;
}
.at_header.is-scrolled {
  min-height: 128px;
  padding: 6px 28px;
  background: rgba(252,251,248,.985);
  border-bottom-color: rgba(24,47,88,.11);
  box-shadow: 0 11px 38px rgba(24,47,88,.085);
}
.at_header.is-scrolled .at_header_inner {
  grid-template-columns: 198px minmax(0,1fr) auto;
  min-height: 112px;
}
.at_header.is-scrolled .at_brand {
  width: 176px;
}

/* The enlarged fixed header gets intentional breathing room before hero copy. */
@media (min-width: 992px) {
  .at_hero_content { padding-top: 162px; }
  .at_inner_hero_content { padding-top: 176px; }
}

@media (max-width: 1199.98px) {
  .at_header {
    min-height: 136px;
    padding-inline: 20px;
  }
  .at_header_inner {
    grid-template-columns: 196px minmax(0,1fr) auto;
    min-height: 118px;
    gap: 24px;
  }
  .at_brand { width: 176px; }
  .at_header.is-scrolled {
    min-height: 126px;
    padding-inline: 20px;
  }
  .at_header.is-scrolled .at_header_inner {
    grid-template-columns: 182px minmax(0,1fr) auto;
    min-height: 108px;
  }
  .at_header.is-scrolled .at_brand { width: 164px; }
}

@media (max-width: 991.98px) {
  .at_header,
  .at_header.is-scrolled {
    min-height: 120px;
    padding: 7px 16px;
  }
  .at_header_inner,
  .at_header.is-scrolled .at_header_inner {
    grid-template-columns: 170px minmax(0,1fr) auto;
    min-height: 104px;
    gap: 14px;
  }
  .at_brand,
  .at_header.is-scrolled .at_brand { width: 158px; }
  .at_hero { padding-top: 120px; }
  .at_inner_hero_content { padding-top: 150px; }
}

@media (max-width: 767.98px) {
  .at_header,
  .at_header.is-scrolled { min-height: 112px; }
  .at_header_inner,
  .at_header.is-scrolled .at_header_inner {
    grid-template-columns: 152px minmax(0,1fr) auto;
    min-height: 96px;
  }
  .at_brand,
  .at_header.is-scrolled .at_brand { width: 142px; }
  .at_hero { padding-top: 112px; }
}

@media (max-width: 575.98px) {
  .at_header,
  .at_header.is-scrolled {
    min-height: 104px;
    padding-inline: 12px;
  }
  .at_header_inner,
  .at_header.is-scrolled .at_header_inner {
    grid-template-columns: 140px minmax(0,1fr) auto;
    min-height: 88px;
    gap: 10px;
  }
  .at_brand,
  .at_header.is-scrolled .at_brand { width: 132px; }
  .at_hero { padding-top: 104px; }
  .at_inner_hero_content { padding-top: 134px; }
}


/* ==========================================================
   ArtTruistic V13.7.0 — wider, more confident desktop nav
   ========================================================== */
@media (min-width: 1200px) {
  .at_header .at_nav {
    width: min(100%, 610px);
    min-width: 560px;
    justify-content: space-between;
    gap: 4px;
    padding: 7px 9px;
  }
  .at_header .at_nav > a:not(.at_mobile_nav_donate) {
    flex: 1 1 0;
    min-height: 44px;
    padding: 0 16px;
    font-size: .72rem;
    letter-spacing: .04em;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .at_header .at_nav {
    width: min(100%, 540px);
    min-width: 500px;
    justify-content: space-between;
    padding: 6px 8px;
  }
  .at_header .at_nav > a:not(.at_mobile_nav_donate) {
    flex: 1 1 0;
    min-height: 42px;
    padding: 0 12px;
    font-size: .7rem;
  }
}
