:root { --ink:#12324a; --navy:#003b70; --teal:#0077b6; --sky:#91dcf5; --coral:#ff9f43; --yellow:#ffd447; --cream:#fffaf0; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:78px; padding:0 clamp(22px,5vw,78px); display:flex; align-items:center; justify-content:space-between; background:rgba(255,249,239,.94); position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); border-bottom:1px solid rgba(7,59,76,.09); }
.brand { display:flex; align-items:center; gap:12px; font-size:13px; letter-spacing:.03em; text-transform:uppercase; font-weight:700; }
.brand-logo { width:68px; height:48px; flex:0 0 68px; object-fit:contain; object-position:center; mix-blend-mode:multiply; }
.brand b { color:var(--coral); }
nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:700; }
nav a:hover { color:var(--teal); }
.nav-cta { padding:12px 18px; color:white; background:var(--coral); border-radius:999px; }
.nav-cta:hover { color:white; background:#ed5548; }
.hero { position:relative; min-height:calc(100vh - 78px); display:flex; align-items:flex-end; overflow:hidden; color:white; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; z-index:0; filter:brightness(1.17) saturate(1.05); }
.hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(0,43,82,.74) 0%,rgba(0,43,82,.42) 45%,rgba(0,43,82,.04) 78%),linear-gradient(0deg,rgba(0,43,82,.44),transparent 44%); }
.hero-copy { position:relative; z-index:2; width:min(760px,88vw); margin:0 0 155px clamp(24px,7vw,110px); }
.eyebrow { color:var(--navy); font-size:15px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin:0 0 20px; }
.eyebrow.light { color:var(--yellow); }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.04em; }
h1 { font-size:clamp(54px,7.2vw,110px); line-height:.91; margin:0; }
h1 em,h2 em { color:var(--coral); font-style:normal; }
.hero-copy>p:not(.eyebrow) { max-width:630px; margin:28px 0 32px; font-size:clamp(18px,1.55vw,23px); line-height:1.55; color:#e8f5f5; }
.hero-actions { display:flex; gap:25px; align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:18px; padding:16px 22px; border:0; border-radius:999px; font:700 14px Arial; cursor:pointer; }
.button-coral { background:var(--coral); color:white; box-shadow:0 12px 28px rgba(255,107,93,.3); }
.button-coral:hover { background:#ed5548; transform:translateY(-1px); }
.hero-link { font-weight:700; border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:5px; }
.hero-info { position:absolute; z-index:3; left:clamp(24px,7vw,110px); right:clamp(24px,7vw,110px); bottom:0; min-height:108px; display:grid; grid-template-columns:repeat(3,1fr); background:rgba(255,249,239,.97); color:var(--ink); border-radius:18px 18px 0 0; overflow:hidden; }
.hero-info div { padding:24px clamp(20px,3vw,42px); display:grid; gap:9px; border-right:1px solid #e5ded2; }
.hero-info div:last-child { border:0; }
.hero-info span,.practical-panel span { color:var(--teal); font-size:14px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-info strong { font-size:18px; }
.section { padding:clamp(75px,9vw,135px) clamp(24px,7vw,110px); }
h2 { font-size:clamp(44px,6vw,82px); line-height:.98; margin:0; }
.manifesto { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,10vw,150px); align-items:center; background:var(--cream); }
.manifesto-copy { max-width:590px; }
.manifesto-copy .lead { font-family:Georgia,"Times New Roman",serif; font-size:clamp(25px,2.3vw,36px); line-height:1.25; color:var(--navy); }
.manifesto-copy>p:not(.lead) { color:#496675; font-size:18px; line-height:1.75; }
.text-link { display:inline-flex; gap:14px; margin-top:16px; color:var(--teal); font-weight:800; }
.photo-break { position:relative; min-height:76vh; overflow:hidden; }
.photo-break img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.photo-break::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,59,76,.72),transparent 60%); }
.photo-break>p { position:absolute; z-index:2; left:clamp(24px,7vw,110px); bottom:clamp(35px,6vw,80px); margin:0; color:white; font:400 clamp(34px,4.6vw,68px)/1.06 Georgia; }
.photo-break strong { color:var(--yellow); font-weight:400; }
.experience-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; background:white; }
.experience-cards article { min-height:310px; padding:35px; border-radius:22px; display:flex; flex-direction:column; }
.experience-cards span { font-weight:800; font-size:28px; letter-spacing:.08em; }
.experience-cards h3 { margin:28px 0 12px; font:400 clamp(44px,4.5vw,64px) Georgia; }
.experience-cards p { max-width:330px; margin:0; font-size:20px; line-height:1.5; }
.card-coral { background:#ffc27f; color:#3f2b13; }
.card-sky { background:#9eddf4; color:#123245; }
.card-yellow { background:#ffe178; color:#3d3216; }
.possibilities { color:white; background:linear-gradient(135deg,#0077b6 0%,#005592 54%,#003b70 100%); }
.possibilities-intro { display:grid; grid-template-columns:.7fr 1.3fr; gap:35px 70px; align-items:end; }
.possibilities-intro .eyebrow { grid-column:1/-1; color:var(--yellow); margin-bottom:0; }
.possibilities-intro>p:last-child { margin:0; color:#e5f5ff; font-size:21px; line-height:1.65; }
.possibilities-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:18px; margin-top:58px; }
.possibilities-grid article { min-height:355px; padding:32px; border-radius:22px; color:var(--ink); background:white; box-shadow:0 18px 50px rgba(0,24,53,.18); }
.possibilities-grid article:first-child { background:var(--yellow); }
.possibility-number { display:block; color:var(--teal); font-size:28px; font-weight:900; }
.possibilities-grid h3 { margin:42px 0 18px; color:var(--navy); font:400 30px/1.08 Georgia,"Times New Roman",serif; }
.possibilities-grid p,.possibilities-grid li { font-size:17px; line-height:1.55; }
.possibilities-grid ul { columns:2; column-gap:28px; padding-left:20px; }
.possibilities-grid li { break-inside:avoid; margin:0 0 9px; }
.audience-line { margin:32px 0 0; padding:26px 30px; color:var(--navy); background:#a7e5fa; border-left:8px solid var(--yellow); border-radius:14px; font-size:20px; line-height:1.55; }
.session { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,10vw,150px); color:white; background:var(--navy); }
.session-heading>p:not(.eyebrow) { max-width:560px; color:#e3f2fa; font-size:21px; line-height:1.65; }
.session-steps { display:grid; }
.session-steps article { display:grid; grid-template-columns:64px 1fr; gap:22px; padding:27px 0; border-top:1px solid rgba(255,255,255,.2); }
.session-steps article>span { display:grid; place-items:center; width:50px; height:50px; color:var(--navy); background:var(--yellow); border-radius:50%; font:700 20px Georgia; }
.session-steps h3 { margin:0 0 8px; font-size:25px; }
.session-steps p { margin:0; color:#e3f2fa; font-size:19px; line-height:1.55; }
.practical { display:grid; grid-template-columns:1fr .9fr; gap:clamp(55px,9vw,130px); align-items:start; background:linear-gradient(135deg,#a7e5fa 0%,#ffe88f 100%); }
.practical-panel { padding:clamp(28px,4vw,48px); background:white; border-radius:22px; box-shadow:0 20px 60px rgba(7,59,76,.12); }
.practical-panel>div { display:grid; gap:8px; padding:20px 0; border-bottom:1px solid #dce8e8; }
.practical-panel strong { font-size:20px; }
.button-navy { width:100%; margin-top:28px; color:white; background:var(--navy); }
.nonprofit-band { padding:34px clamp(24px,7vw,110px); display:flex; align-items:center; justify-content:center; gap:24px 48px; color:var(--navy); background:var(--yellow); text-align:center; }
.nonprofit-band span { font-size:14px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.nonprofit-band strong { font:400 clamp(23px,2.5vw,34px)/1.2 Georgia,"Times New Roman",serif; }
.contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(55px,9vw,130px); align-items:start; color:white; background:linear-gradient(135deg,#006bb0 0%,#003b70 100%); }
.contact-copy>p:not(.eyebrow) { color:#dff6f7; font-size:18px; line-height:1.7; }
.contact-copy>a { display:inline-flex; gap:12px; margin-top:20px; padding:14px 20px; color:var(--navy); background:var(--yellow); border-radius:999px; font-weight:800; }
.contact-copy .email-address { margin-top:25px; color:#dff6f7; font-size:15px; overflow-wrap:anywhere; }
.contact-copy .contact-phone { margin-top:8px; color:#dff6f7; font-size:17px; }
.contact-phone a { color:white; font-weight:800; border-bottom:1px solid rgba(255,255,255,.55); }
.contact-form { padding:clamp(28px,4vw,48px); color:var(--ink); background:var(--cream); border-radius:22px; box-shadow:0 25px 60px rgba(3,31,45,.2); }
.contact-form label { display:block; margin-bottom:20px; font-size:15px; font-weight:800; }
.contact-form input,.contact-form textarea { display:block; width:100%; margin-top:8px; padding:12px 0; color:var(--ink); background:transparent; border:0; border-bottom:1px solid #9eaaa9; font:inherit; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { outline:0; border-color:var(--coral); }
.contact-form .button { color:white; background:var(--coral); }
.contact-form small { display:block; margin-top:13px; color:#617379; }
footer { display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:35px; align-items:center; padding:52px clamp(24px,7vw,110px) 28px; color:white; background:#032c3a; }
.footer-brand { display:flex; align-items:center; gap:14px; }
.footer-logo { width:78px; height:54px; flex:0 0 78px; object-fit:contain; padding:4px; background:white; border-radius:12px; }
footer p { margin:0; color:#b9d4d8; line-height:1.6; }
footer>a { color:var(--sky); font-weight:700; }
.legal { grid-column:1/-1; padding-top:24px; margin-top:10px; border-top:1px solid rgba(255,255,255,.14); font-size:12px; }
@media (max-width:900px) { nav>a:not(.nav-cta){display:none}.hero-copy{margin-bottom:205px}.hero-info{grid-template-columns:1fr}.hero-info div{padding:14px 22px;border-right:0;border-bottom:1px solid #e5ded2}.manifesto,.session,.practical,.contact,.possibilities-intro{grid-template-columns:1fr}.experience-cards,.possibilities-grid{grid-template-columns:1fr}.possibilities-grid article{min-height:auto}.photo-break{min-height:60vh}.nonprofit-band{flex-direction:column} }
@media (max-width:560px) { .site-header{height:70px}.brand-logo{width:54px;height:40px;flex-basis:54px}.brand>span:last-child{max-width:150px;font-size:10px}.nav-cta{padding:10px 12px;font-size:11px}.hero{min-height:820px}.hero-shade{background:linear-gradient(90deg,rgba(0,43,82,.72),rgba(0,43,82,.16)),linear-gradient(0deg,rgba(0,43,82,.48),transparent 55%)}.hero-copy{margin:0 22px 238px;width:auto}.hero-copy>p:not(.eyebrow){font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-info{left:16px;right:16px}.section{padding-left:22px;padding-right:22px}.photo-break>p{left:22px}.experience-cards article{min-height:270px}.possibilities-grid ul{columns:1}.session-steps article{grid-template-columns:52px 1fr}footer{grid-template-columns:1fr}.legal{grid-column:1}.contact-form{padding:24px} }
