/*
Theme Name: NAMI Coming Soon
Author: NAMI landing-page draft
Description: Editable block-based coming-soon landing page for NAMI Allen, Auglaize and Hardin Counties. Navigation and donation labels are intentionally inactive.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: nami-coming-soon
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* All selectors are scoped so the optional page-pattern route can coexist with another theme. */
body { margin: 0; }
.nami-scope { --nami-navy:#082b67; --nami-blue:#07599e; --nami-ink:#133653; --nami-muted:#4b6376; --nami-line:#d2dfe8; --nami-pale:#f0f6fa; color:var(--nami-ink); background:#fff; font-family:Arial,Helvetica,sans-serif; font-size:17px; line-height:1.65; overflow-wrap:anywhere; }
.nami-scope, .nami-scope * { box-sizing:border-box; }
.nami-scope p, .nami-scope h1, .nami-scope h2, .nami-scope h3, .nami-scope figure, .nami-scope .wp-block-group, .nami-scope .wp-block-columns, .nami-scope .wp-block-column { margin:0; }
.nami-scope h1, .nami-scope h2, .nami-scope h3 { color:var(--nami-navy); font-family:Arial,Helvetica,sans-serif; font-weight:700; line-height:1.14; letter-spacing:-.035em; text-wrap:balance; }
.nami-scope h1 { font-size:clamp(46px,5.5vw,78px); max-width:950px; }
.nami-scope h2 { font-size:clamp(30px,3.1vw,43px); }
.nami-scope h3 { font-size:23px; line-height:1.25; letter-spacing:-.025em; }
.nami-scope .nami-wrap { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.nami-scope .nami-campaign-banner { color:white; background:var(--nami-navy); padding:13px 24px; text-align:center; }
.nami-scope .nami-banner-text { font-size:15px; line-height:1.5; letter-spacing:.005em; }
.nami-scope .nami-logo-wrap { padding:32px 32px 28px; background:white; }
.nami-scope .nami-logo { width:min(100%,1160px); aspect-ratio:9/1; margin-inline:auto; overflow:hidden; }
.nami-scope .nami-logo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; max-width:none; }
.nami-scope .nami-menu-band { background:var(--nami-blue); padding:15px 24px; }
.nami-scope .nami-menu { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; max-width:1300px; margin-inline:auto; }
.nami-scope .nami-menu-item { color:white; font-size:14px; line-height:1.4; cursor:default; text-decoration:none; flex:none; }
.nami-scope .nami-coming-soon-label { padding:7px 12px; border:1px solid #b7d9f5; background:#fff; color:var(--nami-navy); font-weight:bold; border-radius:4px; }
.nami-scope .nami-donate-label { padding:7px 17px; border:1px solid #d4e7f7; border-radius:24px; font-weight:bold; }
.nami-scope .nami-section { padding:78px 0; }
.nami-scope .nami-eyebrow { color:var(--nami-blue); font-size:13px; font-weight:bold; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; margin-bottom:16px; }
.nami-scope .nami-section-copy { max-width:780px; font-size:18px; color:var(--nami-muted); margin-top:20px; }
.nami-scope .nami-hero { padding:82px 0 70px; background:var(--nami-pale); border-bottom:1px solid #dfebf2; position:relative; isolation:isolate; overflow:hidden; }
.nami-scope .nami-hero:after { content:""; position:absolute; right:-205px; top:-190px; width:680px; height:680px; border:80px solid #e6f0f7; border-radius:50%; z-index:-1; }
.nami-scope .nami-hero .nami-eyebrow { max-width:1000px; }
.nami-scope .nami-hero-tagline { margin-top:25px; color:var(--nami-blue); font-size:26px; line-height:1.35; font-weight:bold; }
.nami-scope .nami-hero-copy { max-width:700px; font-size:20px; line-height:1.6; color:var(--nami-muted); margin-top:16px; }
.nami-scope .nami-hero-note { display:flex; gap:16px 22px; align-items:baseline; flex-wrap:wrap; border-top:1px solid #c9dce9; padding-top:24px; margin-top:38px; }
.nami-scope .nami-small-label { color:var(--nami-blue); font-size:14px; line-height:1.5; font-weight:bold; }
.nami-scope .nami-launch-note { color:var(--nami-muted); font-size:15px; line-height:1.6; }
.nami-scope .nami-about { text-align:center; }
.nami-scope .nami-about .nami-lede { max-width:810px; font-size:21px; line-height:1.7; color:var(--nami-muted); margin:26px auto 0; }
.nami-scope .nami-about .nami-section-copy { margin-inline:auto; }
.nami-scope .nami-status { display:inline-block; color:var(--nami-blue); font-size:13px; font-weight:bold; line-height:1.5; letter-spacing:.01em; background:#edf4f9; padding:6px 10px; border-radius:4px; }
.nami-scope .nami-about .nami-status { margin-top:26px; }
.nami-scope .nami-programs { background:var(--nami-pale); }
.nami-scope .wp-block-columns { display:grid; gap:22px; }
.nami-scope .nami-program-grid { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:36px; }
.nami-scope .wp-block-column { min-width:0; }
.nami-scope .nami-card { display:flex; flex-direction:column; height:100%; background:white; border:1px solid var(--nami-line); border-radius:13px; padding:28px 25px; }
.nami-scope .nami-card h3 { font-size:22px; }
.nami-scope .nami-card-copy { font-size:16px; color:var(--nami-muted); margin-top:16px; }
.nami-scope .nami-card .nami-status { margin-top:25px; align-self:flex-start; }
.nami-scope .nami-event-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:36px; }
.nami-scope .nami-event-mode { align-self:flex-start; color:var(--nami-blue); background:#eaf3fa; font-size:13px; font-weight:bold; padding:5px 11px; border-radius:20px; margin-bottom:22px; }
.nami-scope .nami-event-meta { font-size:15px; line-height:1.9; color:var(--nami-muted); margin-top:18px; }
.nami-scope .nami-resources { background:#f7fafc; border-block:1px solid #e4edf3; }
.nami-scope .nami-resources-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:30px; }
.nami-scope .nami-resource-item { border-left:3px solid var(--nami-blue); padding:7px 0 7px 25px; }
.nami-scope .nami-resource-item .nami-card-copy { margin-top:8px; }
.nami-scope .nami-involved { background:var(--nami-blue); color:white; text-align:center; }
.nami-scope .nami-involved .nami-eyebrow { color:#d5eafa; }
.nami-scope .nami-involved h2, .nami-scope .nami-involved h3 { color:white; }
.nami-scope .nami-involved .nami-section-copy { color:#e4eef6; margin-inline:auto; }
.nami-scope .nami-involve-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:38px; }
.nami-scope .nami-involve-card { height:100%; border:1px solid #89b3d4; border-radius:13px; padding:35px 30px; background:#ffffff0b; }
.nami-scope .nami-involve-card .nami-card-copy { color:#e6f0f8; }
.nami-scope .nami-involve-card .nami-status { margin-top:24px; background:white; color:var(--nami-navy); }
.nami-scope .nami-contact .nami-section-copy { max-width:780px; }
.nami-scope .nami-contact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px; }
.nami-scope .nami-contact-item { border-top:1px solid var(--nami-line); padding-top:20px; }
.nami-scope .nami-contact-value { font-size:20px; color:var(--nami-navy); margin-top:7px; }
.nami-scope .nami-contact-note { font-size:14px; color:var(--nami-muted); margin-top:26px; }
.nami-scope .nami-footer { background:var(--nami-navy); color:white; padding:50px 0 28px; }
.nami-scope .nami-footer-name { color:white; font-size:25px; line-height:1.25; letter-spacing:-.02em; }
.nami-scope .nami-footer-subtitle { color:#d3e3f4; margin-top:10px; font-size:14px; }
.nami-scope .nami-footer-labels { margin-top:30px; color:white; font-size:14px; line-height:1.9; }
.nami-scope .nami-footer-social { color:#d3e3f4; margin-top:8px; font-size:13px; }
.nami-scope .nami-footer-notice { border-top:1px solid #4b6896; color:#dce8f5; margin-top:30px; padding-top:20px; font-size:12px; line-height:1.6; }
@media(max-width:1050px) {
 .nami-scope .nami-program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nami-scope .nami-menu { gap:14px 18px; }
 .nami-scope .nami-card { padding:25px; }
 .nami-scope .nami-involve-card { padding:30px 22px; }
}
@media(max-width:700px) {
 .nami-scope { font-size:16px; }
 .nami-scope .nami-wrap { width:calc(100% - 40px); }
 .nami-scope .nami-logo-wrap { padding:24px 16px; }
 .nami-scope .nami-logo { aspect-ratio:9/1; }
 .nami-scope .nami-banner-text { font-size:13px; }
 .nami-scope .nami-menu-band { padding:16px 16px; }
 .nami-scope .nami-menu { justify-content:flex-start; gap:13px 17px; max-width:500px; }
 .nami-scope .nami-menu-item { font-size:12px; }
 .nami-scope .nami-coming-soon-label { padding:5px 9px; }
 .nami-scope .nami-donate-label { padding:5px 12px; }
 .nami-scope .nami-section { padding:50px 0; }
 .nami-scope .nami-hero { padding:52px 0 40px; }
 .nami-scope .nami-hero:after { width:430px; height:430px; border-width:50px; right:-290px; top:-120px; }
 .nami-scope .nami-eyebrow { font-size:11px; letter-spacing:.09em; }
 .nami-scope h1 { font-size:46px; }
 .nami-scope h2 { font-size:31px; }
 .nami-scope h3 { font-size:23px; }
 .nami-scope .nami-hero-tagline { font-size:22px; margin-top:24px; }
 .nami-scope .nami-hero-copy { font-size:18px; }
 .nami-scope .nami-hero-note { gap:9px; margin-top:28px; padding-top:20px; }
 .nami-scope .nami-launch-note { font-size:14px; }
 .nami-scope .nami-about .nami-lede { font-size:18px; }
 .nami-scope .nami-section-copy { font-size:17px; }
 .nami-scope .nami-program-grid,.nami-scope .nami-event-grid,.nami-scope .nami-involve-grid,.nami-scope .nami-contact-grid,.nami-scope .nami-resources-grid { grid-template-columns:minmax(0,1fr); }
 .nami-scope .wp-block-columns { gap:18px; }
 .nami-scope .nami-card { padding:27px; }
 .nami-scope .nami-involve-card { padding:30px 26px; }
 .nami-scope .nami-footer { padding-top:40px; }
 .nami-scope .nami-footer-labels { max-width:420px; }
}
@media(prefers-reduced-motion:reduce) { .nami-scope *, .nami-scope *::before, .nami-scope *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print { .nami-scope .nami-hero:after { display:none; } .nami-scope .nami-section { padding-block:32px; } .nami-scope .nami-card, .nami-scope .nami-involve-card { break-inside:avoid; } }
.nami-scope .nami-safety-strip { padding:23px 0; background:#edf4f9; border-top:3px solid var(--nami-blue); text-align:center; }
.nami-scope .nami-safety-copy { margin-top:4px; color:var(--nami-muted); font-size:14px; }

.nami-scope .nami-contact-email-second-label { margin-top:18px; }

/* Program illustrations and the one user-authorized email link. */
.nami-scope .nami-about-email a { color:var(--nami-blue); text-decoration:underline; text-underline-offset:3px; font-weight:bold; }
.nami-scope .nami-about-email a:hover { color:var(--nami-navy); }
.nami-scope .nami-about-email a:focus-visible { outline:3px solid var(--nami-blue); outline-offset:5px; border-radius:2px; }
.nami-scope .nami-program-card { padding:0; overflow:hidden; }
.nami-scope .nami-program-photo { width:100%; aspect-ratio:4/3; overflow:hidden; flex:none; }
.nami-scope .nami-program-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.nami-scope .nami-program-card-body { padding:25px; display:flex; flex-direction:column; flex:1; }
.nami-scope .nami-imagery-note { margin-top:18px; color:var(--nami-muted); font-size:12px; line-height:1.6; }

/* Editable announcement ticker: readable without JavaScript, static with reduced motion. */
.nami-scope .nami-campaign-banner { display:flex; align-items:center; gap:18px; padding:10px 24px; text-align:left; }
.nami-scope .nami-announcement-window { flex:1; min-width:0; }
.nami-scope .nami-announcement-messages { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px 32px; }
.nami-scope .nami-banner-message { font-size:15px; line-height:1.6; }
.nami-scope .nami-banner-ready .nami-announcement-window { overflow:hidden; }
.nami-scope .nami-banner-ready .nami-announcement-track { display:flex; width:max-content; animation:nami-announcement-scroll var(--nami-ticker-duration,32s) linear infinite; will-change:transform; }
.nami-scope .nami-banner-ready .nami-announcement-messages { flex:none; flex-wrap:nowrap; justify-content:space-around; width:max-content; min-width:var(--nami-ticker-min-width,100vw); white-space:nowrap; gap:48px; padding-right:48px; }
.nami-scope .nami-banner-paused .nami-announcement-track { animation-play-state:paused; }
.nami-scope .nami-banner-toggle { flex:none; background:white; color:var(--nami-navy); border:1px solid white; border-radius:4px; font:700 13px/1.4 Arial,Helvetica,sans-serif; padding:7px 12px; cursor:pointer; min-height:34px; }
.nami-scope .nami-banner-toggle:focus-visible { outline:3px solid #f4cd65; outline-offset:4px; }
.nami-scope .nami-banner-toggle[hidden] { display:none; }
.nami-scope .nami-visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.nami-scope .nami-banner-reduced-motion .nami-announcement-window { overflow:visible; }
.nami-scope .nami-banner-reduced-motion .nami-announcement-track { animation:none!important; transform:none!important; width:100%; }
.nami-scope .nami-banner-reduced-motion .nami-announcement-messages { width:100%; min-width:0; padding-right:0; gap:7px 28px; flex-wrap:wrap; white-space:normal; }
.nami-scope .nami-banner-reduced-motion .nami-announcement-repeat { display:none; }
.nami-scope .nami-donate-label { background:#d9a62c; border-color:#d9a62c; color:#000000; }
@keyframes nami-announcement-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:700px) { .nami-scope .nami-campaign-banner { gap:12px; padding:10px 16px; } .nami-scope .nami-banner-message { font-size:13px; } .nami-scope .nami-banner-toggle { font-size:12px; padding:7px 10px; } }
@media(prefers-reduced-motion:reduce) {
 .nami-scope .nami-banner-ready .nami-announcement-window { overflow:visible; }
 .nami-scope .nami-banner-ready .nami-announcement-track { animation:none!important; transform:none!important; width:100%; }
 .nami-scope .nami-banner-ready .nami-announcement-messages { width:100%; min-width:0; padding-right:0; gap:7px 28px; flex-wrap:wrap; white-space:normal; }
 .nami-scope .nami-announcement-repeat, .nami-scope .nami-banner-toggle { display:none; }
}

.nami-scope .nami-banner-toggle { min-width:80px; }
@media(max-width:700px) { .nami-scope .nami-banner-toggle { min-width:72px; } }

/* Event imagery remains illustrative, editable, and noninteractive. */
.nami-scope .nami-event-card { padding:0; overflow:hidden; }
.nami-scope .nami-event-photo { width:100%; aspect-ratio:3/2; overflow:hidden; flex:none; }
.nami-scope .nami-event-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.nami-scope .nami-event-card-body { padding:28px 25px; display:flex; flex-direction:column; flex:1; }

/* User-requested contact value sizing and explicitly approved links. */
.nami-scope .nami-contact-value { font-size:16px; }
.nami-scope .nami-contact-value a { color:var(--nami-blue); text-decoration:underline; text-underline-offset:3px; }
.nami-scope .nami-contact-value a:focus-visible { outline:3px solid var(--nami-blue); outline-offset:3px; border-radius:2px; }

/* Get Involved illustrations do not activate sign-up or donation controls. */
.nami-scope .nami-involve-card { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.nami-scope .nami-involve-photo { width:100%; aspect-ratio:3/2; overflow:hidden; flex:none; }
.nami-scope .nami-involve-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.nami-scope .nami-involve-card-body { padding:30px; flex:1; }
.nami-scope .nami-involved .nami-imagery-note { color:#dceaf6; }

/* Four-slide full-width photo banner. Paragraphs/images remain editable core blocks. */
.nami-scope .nami-campaign-banner { position:relative; display:block; padding:0; background:var(--nami-navy); color:white; overflow:hidden; }
.nami-scope .nami-carousel-track { width:100%; }
.nami-scope .nami-carousel-slide { position:relative; display:grid; place-items:center; width:100%; height:clamp(360px,36vw,480px); min-height:360px; overflow:hidden; }
.nami-scope .nami-carousel-photo { position:absolute; inset:0; z-index:0; width:100%; height:100%; }
.nami-scope .nami-carousel-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.nami-scope .nami-carousel-family img { object-position:50% 42%; }
.nami-scope .nami-carousel-volunteer img { object-position:50% 0%; }
.nami-scope .nami-carousel-outreach img { object-position:50% 36%; }
.nami-scope .nami-carousel-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,22,52,.5),rgba(0,22,52,.63)); z-index:1; }
.nami-scope .nami-carousel-copy { position:relative; z-index:2; width:100%; max-width:1300px; padding:65px 88px 90px; text-align:center; }
.nami-scope .nami-carousel-eyebrow { color:white; font-size:12px; font-weight:bold; line-height:1.5; letter-spacing:.12em; margin-bottom:17px; }
.nami-scope .nami-carousel-title { color:white; font-size:clamp(32px,4.2vw,60px); font-weight:700; line-height:1.14; letter-spacing:-.035em; text-wrap:balance; }
.nami-scope .nami-carousel-subtitle { color:white; font-size:20px; line-height:1.5; margin-top:20px; text-wrap:balance; }
.nami-scope .nami-carousel-ready .nami-carousel-track { display:flex; transition:transform 500ms ease; will-change:transform; }
.nami-scope .nami-carousel-ready .nami-carousel-slide { flex:0 0 100%; min-width:100%; }
.nami-scope .nami-carousel-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:44px; height:54px; border:1px solid rgba(255,255,255,.75); border-radius:4px; background:rgba(0,22,52,.5); color:white; font:400 40px/1 Arial,Helvetica,sans-serif; cursor:pointer; padding:0; }
.nami-scope .nami-carousel-previous { left:18px; }
.nami-scope .nami-carousel-next { right:18px; }
.nami-scope .nami-carousel-controls { position:absolute; z-index:4; bottom:18px; left:15px; right:15px; display:flex; align-items:center; justify-content:center; gap:20px; }
.nami-scope .nami-carousel-dots { display:flex; align-items:center; gap:0; }
.nami-scope .nami-carousel-dot { display:grid; place-items:center; width:44px; height:44px; border:0; padding:0; background:transparent; cursor:pointer; }
.nami-scope .nami-carousel-dot::after { content:""; width:13px; height:13px; border:2px solid white; border-radius:50%; background:transparent; }
.nami-scope .nami-carousel-dot[aria-current="true"]::after { background:white; }
.nami-scope .nami-carousel-toggle { min-width:88px; min-height:40px; border:1px solid white; border-radius:4px; background:white; color:var(--nami-navy); padding:8px 12px; font:700 13px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.nami-scope .nami-carousel-toggle[hidden] { display:none; }
.nami-scope .nami-campaign-banner button:focus-visible { outline:3px solid #f4cd65; outline-offset:3px; }
.nami-scope .nami-campaign-banner button:disabled { cursor:default; }
.nami-scope .nami-hero h1 { max-width:none; font-size:clamp(30px,4.7vw,66px); white-space:nowrap; text-wrap:nowrap; }
.nami-scope .nami-carousel-reduced-motion .nami-carousel-track { transition:none!important; }
@media(max-width:700px) {
 .nami-scope .nami-carousel-slide { height:440px; min-height:440px; }
 .nami-scope .nami-carousel-copy { padding:55px 62px 95px; }
 .nami-scope .nami-carousel-eyebrow { font-size:10px; letter-spacing:.07em; margin-bottom:14px; }
 .nami-scope .nami-carousel-title { font-size:34px; }
 .nami-scope .nami-carousel-subtitle { font-size:16px; margin-top:16px; }
 .nami-scope .nami-carousel-previous { left:8px; }
 .nami-scope .nami-carousel-next { right:8px; }
 .nami-scope .nami-carousel-controls { gap:12px; bottom:15px; }
 .nami-scope .nami-carousel-toggle { min-width:80px; }
 .nami-scope .nami-hero h1 { white-space:normal; text-wrap:balance; font-size:clamp(38px,8.8vw,46px); }
}
@media(prefers-reduced-motion:reduce) { .nami-scope .nami-carousel-track { transition:none!important; } }

/* Show whole photographs, rather than shallow cover crops. */
.nami-scope .nami-campaign-banner { --nami-carousel-photo-height:clamp(360px,40vw,580px); }
.nami-scope .nami-carousel-slide { display:flex; flex-direction:column; height:auto; min-height:0; }
.nami-scope .nami-carousel-photo { position:relative; inset:auto; flex:none; width:100%; height:var(--nami-carousel-photo-height); background:var(--nami-navy); }
.nami-scope .nami-carousel-photo img { object-fit:contain; object-position:50% 50%; }
.nami-scope .nami-carousel-slide::after { display:none; }
.nami-scope .nami-carousel-copy { position:relative; z-index:2; flex:1; max-width:none; width:100%; padding:26px 80px 86px; background:var(--nami-navy); }
.nami-scope .nami-carousel-eyebrow { margin-bottom:12px; }
.nami-scope .nami-carousel-title { font-size:clamp(30px,3.5vw,50px); }
.nami-scope .nami-carousel-subtitle { font-size:18px; margin-top:14px; }
.nami-scope .nami-carousel-arrow { top:calc(var(--nami-carousel-photo-height) / 2); }
@media(max-width:700px) {
 .nami-scope .nami-campaign-banner { --nami-carousel-photo-height:calc(100vw * 2 / 3); }
 .nami-scope .nami-carousel-slide { height:auto; min-height:0; }
 .nami-scope .nami-carousel-copy { padding:24px 24px 82px; }
 .nami-scope .nami-carousel-title { font-size:32px; }
 .nami-scope .nami-carousel-subtitle { font-size:16px; }
}
