:root { --ink:#1c2925; --cream:#f7f4ed; --sand:#ded6c8; --moss:#72806e; --clay:#c66d4e; --white:#fffdf9; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; } a { color:inherit; text-decoration:none; } .site-header { display:flex; align-items:center; justify-content:space-between; padding:16px 6vw; background:var(--cream); position:relative; z-index:2; } .brand img { display:block; width:116px; mix-blend-mode:multiply; } .nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; } .nav a:not(.nav-button):hover,.text-link:hover { color:var(--clay); } .nav-button,.button { display:inline-flex; justify-content:center; align-items:center; padding:13px 20px; font-size:14px; font-weight:700; border-radius:2px; transition:transform .2s,background .2s; } .nav-button { background:var(--ink); color:var(--white); } .menu-button { display:none; border:0; background:none; color:var(--ink); font:700 14px "DM Sans"; }.hero { min-height:680px; display:grid; grid-template-columns:1.05fr .95fr; position:relative; overflow:hidden; background:var(--sand); }.hero-copy { padding:124px 8vw 86px; align-self:center; }.eyebrow { margin:0 0 17px; color:var(--clay); font-size:12px; line-height:1.2; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }.hero h1,.statement h2,.values h2,.process h2,.connect h2 { margin:0; font-family:"Playfair Display",serif; font-weight:600; line-height:.98; letter-spacing:-.04em; }.hero h1 { max-width:620px; font-size:clamp(56px,6.8vw,102px); }.hero h1 em { color:var(--clay); }.hero-text { max-width:470px; margin:28px 0 34px; font-size:18px; line-height:1.65; }.actions { display:flex; align-items:center; gap:30px; }.button-dark { background:var(--ink); color:var(--white); }.button:hover { transform:translateY(-2px); }.text-link { font-size:14px; font-weight:700; }.text-link span { padding-left:4px; }.hero-image { background:linear-gradient(180deg,rgba(29,41,36,.07),rgba(29,41,36,.45)),url("https://images.unsplash.com/photo-1580060839134-75a5edca2e99?auto=format&fit=crop&w=1200&q=85") center/cover; min-height:500px; }.launch-note { position:absolute; right:5.5vw; bottom:38px; color:var(--white); text-align:right; font-size:13px; letter-spacing:.05em; line-height:1.6; }.launch-note strong { font-size:15px; }.statement { max-width:1000px; padding:138px 7vw 128px; }.statement h2 { font-size:clamp(38px,5vw,70px); }.statement>p:last-child { max-width:670px; margin:30px 0 0; font-size:17px; line-height:1.7; }.values { display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; padding:110px 7vw; background:var(--white); }.values h2 { font-size:clamp(36px,4vw,56px); }.value-list { border-top:1px solid #b9b4aa; }.value-list article { display:grid; grid-template-columns:56px 1fr 1.35fr; gap:16px; padding:25px 0; border-bottom:1px solid #b9b4aa; }.value-list span,.step { color:var(--clay); font-size:13px; font-weight:700; }.value-list h3 { margin:0; font:600 25px "Playfair Display"; }.value-list p { margin:0; font-size:14px; line-height:1.6; }.process { padding:120px 7vw 130px; background:var(--moss); color:var(--white); }.process .eyebrow { color:#e7c4a8; }.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; margin-top:48px; }.process-grid article { border-top:1px solid rgba(255,255,255,.55); padding-top:22px; }.process-grid h2 { font-size:55px; }.process-grid article>p:last-child { max-width:300px; margin:18px 0 0; line-height:1.65; font-size:15px; }.connect { display:flex; justify-content:space-between; align-items:end; gap:50px; padding:110px 7vw; color:var(--white); background:var(--clay); }.connect h2 { max-width:700px; font-size:clamp(40px,5vw,68px); }.connect div>p:last-child { max-width:600px; margin:26px 0 0; line-height:1.65; }.connect .eyebrow { color:#fee5cc; }.button-light { white-space:nowrap; background:var(--white); color:var(--ink); } footer { padding:70px 7vw 30px; background:var(--ink); color:var(--white); }.footer-top { display:flex; justify-content:space-between; align-items:start; padding-bottom:60px; }.footer-top img { width:150px; filter:grayscale(1) brightness(5); mix-blend-mode:screen; }.footer-top p { margin:0; text-align:right; font:600 30px/1.1 "Playfair Display"; }.contact-grid { display:grid; grid-template-columns:1.1fr 1fr 1.5fr 1fr; gap:30px; padding:30px 0 65px; border-top:1px solid rgba(255,255,255,.3); }.contact-grid p { margin:0; line-height:1.7; font-size:14px; }.contact-grid a { border-bottom:1px solid rgba(255,255,255,.45); line-height:1.7; }.footer-label { margin-bottom:8px!important; color:#d8cdbd; font-size:11px!important; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.copyright { margin:0; padding-top:25px; border-top:1px solid rgba(255,255,255,.3); color:#d8cdbd; font-size:12px; }
@media (max-width:760px) { .site-header { padding:13px 6vw; }.brand img { width:93px; }.menu-button { display:block; }.nav { display:none; position:absolute; top:100%; left:0; right:0; padding:24px 6vw; background:var(--cream); box-shadow:0 14px 20px rgba(0,0,0,.08); flex-direction:column; align-items:flex-start; gap:20px; }.nav.open { display:flex; }.hero { grid-template-columns:1fr; }.hero-copy { padding:85px 8vw 70px; }.hero-image { min-height:330px; }.launch-note { right:8vw; bottom:24px; }.actions { flex-wrap:wrap; gap:20px; }.statement,.values,.process,.connect { padding:82px 8vw; }.values,.connect { grid-template-columns:1fr; display:grid; }.value-list article { grid-template-columns:42px 1fr; }.value-list article p { grid-column:2; }.process-grid,.contact-grid { grid-template-columns:1fr; gap:28px; }.connect { align-items:start; }.footer-top { padding-bottom:40px; }.footer-top img { width:115px; }.footer-top p { font-size:21px; }.contact-grid { gap:22px; padding-bottom:45px; } }

.vision-video { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:7vw; padding:110px 7vw; background:#e9e2d6; }
.vision-video h2 { margin:0; font:600 clamp(38px,4vw,57px)/1.03 "Playfair Display",serif; letter-spacing:-.04em; }
.vision-video-copy > p:not(.eyebrow) { max-width:400px; margin:25px 0; line-height:1.7; }
.video-frame { overflow:hidden; aspect-ratio:16/9; background:var(--ink); box-shadow:18px 18px 0 var(--moss); }
.video-frame iframe { display:block; width:100%; height:100%; border:0; }
.footer-top img { filter:invert(1) grayscale(1); mix-blend-mode:lighten; }
@media (max-width:760px) { .vision-video { grid-template-columns:1fr; gap:38px; padding:82px 8vw; }.video-frame { box-shadow:10px 10px 0 var(--moss); } }

.contact-form-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; padding:10px 0 70px; }
.contact-form-intro h2 { margin:0; font:600 clamp(34px,3.6vw,50px)/1.05 "Playfair Display",serif; letter-spacing:-.04em; }
.contact-form-intro > p:last-child { max-width:315px; margin:20px 0 0; color:#d8cdbd; font-size:14px; line-height:1.7; }
.contact-form { display:grid; gap:17px; }
.contact-form label { display:grid; gap:8px; color:#d8cdbd; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.contact-form input,.contact-form textarea { width:100%; padding:12px 0; border:0; border-bottom:1px solid rgba(255,255,255,.45); border-radius:0; outline:none; color:var(--white); background:transparent; font:400 16px "DM Sans",sans-serif; letter-spacing:normal; text-transform:none; }
.contact-form textarea { min-height:115px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-bottom-color:#fff; }
.form-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:4px; }
.form-footer p,.form-note { margin:0; color:#d8cdbd; font-size:12px; line-height:1.5; }
.form-note { margin-top:-7px; }
@media (max-width:760px) { .contact-form-section { grid-template-columns:1fr; gap:35px; padding:10px 0 55px; }.form-row { grid-template-columns:1fr; }.form-footer { align-items:flex-start; flex-direction:column; } }

@media (prefers-reduced-motion: reduce) {
	.button, .nav-button {
		transition: none;
	}
}
@media (prefers-reduced-motion: no-preference) {
	.button, .nav-button {
		transition: transform .2s, background .2s;
	}

	.reveal {
		opacity: 0;
		transform: translateY(28px);
		transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
	}

	.reveal.is-visible {
		opacity: 1;
		transform: translateY(0);
	}

	.hero-copy > * {
		opacity: 0;
		transform: translateY(18px);
		animation: hero-enter .7s cubic-bezier(.2,.7,.2,1) forwards;
	}

	.hero-copy > :nth-child(2) { animation-delay: .1s; }
	.hero-copy > :nth-child(3) { animation-delay: .2s; }
	.hero-copy > :nth-child(4) { animation-delay: .3s; }
	.hero-image { animation: image-enter 1.1s ease-out both; }

	@keyframes hero-enter {
		to { opacity: 1; transform: translateY(0); }
	}

	@keyframes image-enter {
		from { opacity: 0; transform: scale(1.04); }
		to { opacity: 1; transform: scale(1); }
	}
}

.give { display:grid; grid-template-columns:1fr 1fr 260px; gap:5vw; align-items:center; padding:105px 8vw; background:var(--moss); color:var(--white); }
.give h2 { max-width:560px; margin:0; font:600 clamp(40px,5vw,68px)/.98 "Playfair Display",serif; letter-spacing:-.04em; }
.give-copy > p:last-child { max-width:445px; margin:26px 0 0; color:#eef0e8; line-height:1.7; }
.give .eyebrow { color:#f0b18e; }
.give-form { display:grid; gap:25px; padding:30px; background:rgba(28,41,37,.28); }
.give-form fieldset { margin:0; padding:0; border:0; }
.give-form legend { margin-bottom:12px; color:#dfe6da; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.choice-group { display:flex; flex-wrap:wrap; gap:8px; }
.choice-group label { cursor:pointer; }
.choice-group input { position:absolute; opacity:0; pointer-events:none; }
.choice-group span { display:inline-flex; min-width:92px; justify-content:center; padding:12px 15px; border:1px solid rgba(255,255,255,.45); color:var(--white); font-size:14px; font-weight:700; }
.choice-group input:checked + span { border-color:var(--clay); background:var(--clay); }
.choice-group input:focus-visible + span { outline:2px solid var(--white); outline-offset:3px; }
.custom-amount-input { display:grid; gap:8px; max-width:220px; margin-top:14px; color:#dfe6da; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.custom-amount-input input { width:100%; padding:10px 0; border:0; border-bottom:1px solid rgba(255,255,255,.5); outline:none; color:var(--white); background:transparent; font:16px "DM Sans",sans-serif; }
.custom-amount-input input:disabled { opacity:.4; }
.give-form .button { width:max-content; border:0; cursor:pointer; }
.give-form .button span { padding-left:8px; }
.give-note { margin:0; color:#dfe6da; font-size:12px; line-height:1.5; }
.banking-card { display:grid; gap:12px; padding:20px 16px; background:var(--white); color:var(--ink); }
.banking-label { margin:0; color:var(--clay); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.banking-details { display:grid; gap:11px; margin:0; }
.banking-details div { display:grid; gap:3px; padding-bottom:10px; border-bottom:1px solid #d9ddd6; }
.banking-details div:last-child { padding-bottom:0; border-bottom:0; }
.banking-details dt { color:#68736d; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.banking-details dd { margin:0; font-size:14px; font-weight:700; }

@media (max-width:760px) {
	.give { grid-template-columns:1fr; gap:42px; padding:82px 8vw; }
	.give-form { padding:24px; }
	.choice-group span { min-width:78px; }
	.banking-card { width:100%; max-width:360px; justify-self:center; }
}
