/* ===== Inner pages — shared layout on top of site.css ===== */
.page-hero{padding:170px 26px 50px; text-align:center; max-width:920px; margin:0 auto}
.page-hero .eyebrow{opacity:0; animation:upIn .8s cubic-bezier(.22,.61,.36,1) .1s forwards}
.page-hero h1{font-family:"Assistant",sans-serif; font-weight:800; letter-spacing:-.03em;
  font-size:clamp(42px,8.5vw,88px); line-height:1.02; margin:14px 0 0; color:var(--ink);
  opacity:0; animation:upIn .9s cubic-bezier(.22,.61,.36,1) .25s forwards}
.page-hero h1 em{font-family:"Newsreader",Georgia,serif; font-style:italic; font-weight:500; color:var(--blue)}
.page-hero .intro{font-size:clamp(18px,2.2vw,22px); color:#46433d; max-width:660px; margin:22px auto 0;
  opacity:0; animation:upIn .9s cubic-bezier(.22,.61,.36,1) .45s forwards}

.prose{max-width:780px; margin:0 auto; text-align:center}
.prose p{font-size:19px; color:#3a382f; margin:0 0 18px}
.prose .lead-quote{font-family:"Newsreader",Georgia,serif; font-style:italic; font-size:clamp(23px,3.4vw,32px); color:var(--blue); line-height:1.36; margin:12px auto 22px}
.prose .strong{font-weight:700; color:var(--ink); font-size:21px}

/* vision / mission cards */
.vm{display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:940px; margin:50px auto 0}
.vm .c{border-radius:18px; padding:36px; color:#fff}
.vm .c.blue{background:var(--blue)} .vm .c.green{background:var(--green)}
.vm .c h3{font-size:23px; margin:0 0 10px} .vm .c p{margin:0; opacity:.95; font-size:17px; line-height:1.55}

/* generic cards */
.cards-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:18px; max-width:1120px; margin:44px auto 0}
.kard{background:#fff; border-radius:16px; padding:30px; box-shadow:0 6px 18px rgba(20,20,20,.06);
  transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s cubic-bezier(.22,.61,.36,1)}
.kard:hover{transform:translateY(-6px); box-shadow:0 16px 34px rgba(20,20,20,.12)}
.kard .tag{display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green); background:rgba(53,89,68,.1); padding:4px 11px; border-radius:999px; margin-bottom:13px}
.kard .when{font-size:13px; font-weight:700; color:var(--blue); letter-spacing:.05em; text-transform:uppercase; margin-bottom:7px}
.kard h3{font-size:21px; margin:0 0 9px} .kard p{margin:0; color:#46433d; font-size:16px; line-height:1.55}

/* values */
.values{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; max-width:1120px; margin:44px auto 0}
.value{padding:24px 26px; border-left:3px solid var(--blue); background:#fff; border-radius:0 14px 14px 0; box-shadow:0 4px 14px rgba(20,20,20,.05)}
.value h3{font-size:18px; margin:0 0 7px; color:var(--blue)} .value p{margin:0; font-size:15.5px; color:#46433d; line-height:1.5}

/* gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; max-width:1160px; margin:44px auto 0}
.gallery-grid figure{margin:0; border-radius:14px; overflow:hidden; aspect-ratio:1; box-shadow:0 8px 22px rgba(20,20,20,.08)}
.gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.gallery-grid figure:hover img{transform:scale(1.06)}

/* media feature */
.media-feature{max-width:940px; margin:0 auto 64px}
.media-feature .label{text-align:center; color:var(--blue); font-weight:700; letter-spacing:.04em; margin:0 0 4px}
.media-feature h2{text-align:center; margin:0 0 8px; font-size:clamp(26px,4vw,38px)}
.media-feature .desc{text-align:center; color:#56524a; max-width:700px; margin:0 auto 22px; font-size:17px}

/* giving note */
.give-note{max-width:700px; margin:34px auto 0; text-align:center; padding:24px 28px; background:rgba(48,84,162,.07); border-radius:16px; font-size:15px; color:#3a382f}
.give-note strong{color:var(--blue)}

/* contact */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; max-width:1060px; margin:0 auto; align-items:start}
.contact-details .row{margin-bottom:24px}
.contact-details .k{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); font-weight:700; margin-bottom:5px}
.contact-details a, .contact-details .v{font-size:18px; color:var(--ink); word-break:break-word}
.cform{background:#fff; border-radius:18px; padding:32px; box-shadow:0 10px 30px rgba(20,20,20,.08)}
.cform .two{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.cform .f{margin-bottom:15px}
.cform label{display:block; font-size:13.5px; font-weight:600; margin-bottom:6px}
.cform input,.cform select,.cform textarea{width:100%; font-family:inherit; font-size:16px; padding:13px 15px;
  border:1.5px solid #d6cfc0; border-radius:11px; background:#fbf9f4; transition:border .2s, box-shadow .2s}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(48,84,162,.15)}
.form-msg{margin-top:12px; font-weight:600; min-height:20px}
.form-msg.ok{color:#1a7f37} .form-msg.err{color:#b42318}

@media(max-width:760px){ .vm,.contact-grid{grid-template-columns:1fr} .cform .two{grid-template-columns:1fr} }
