@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=DM+Sans:wght@400;500;600&family=Noto+Sans+Bengali:wght@400;500;600&display=swap');

:root { --font-serif: "Cormorant Garamond"; --font-sans: "DM Sans"; --forest: #173f36; --deep: #0c3029; --cream: #f5f0e6; --paper: #fbf8f1; --saffron: #e5a83a; --ink: #162d28; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans), sans-serif; }
a { color: inherit; text-decoration: none; }
.site-header { height: 98px; display: flex; align-items: center; justify-content: space-between; padding: 0 5.5vw; border-bottom: 1px solid rgba(22,45,40,.16); background: var(--paper); position: relative; z-index: 10; }
.brand { display: flex; align-items: center; gap: 12px; font-size: 12px; line-height: 1.15; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.brand-mark { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--font-serif), serif; font-size: 18px; font-style: italic; letter-spacing: -.08em; }
nav { display: flex; gap: 34px; font-size: 13px; }
.lang-switch { padding:8px 11px; border:1px solid rgba(22,45,40,.25); border-radius:20px; font-size:12px; font-weight:600; white-space:nowrap; }
nav a, footer a { transition: opacity .2s; }
nav a:hover, footer a:hover { opacity: .55; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 34px; background: var(--forest); color: white; min-height: 54px; padding: 0 24px; border-radius: 2px; font-size: 13px; font-weight: 600; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); background: var(--deep); }
.button-small { min-height: 42px; padding: 0 22px; }
.hero { min-height: 690px; display: grid; grid-template-columns: 54% 46%; position: relative; overflow: hidden; }
.hero-copy { padding: 105px 6vw 90px 8vw; }
.eyebrow, .section-label { margin: 0 0 28px; color: #a26717; text-transform: uppercase; letter-spacing: .19em; font-size: 11px; font-weight: 600; }
h1, h2, h3 { font-family: var(--font-serif), serif; font-weight: 500; margin: 0; }
h1 { max-width: 650px; font-size: clamp(68px, 7.5vw, 118px); line-height: .78; letter-spacing: -.055em; }
h1 em, h2 em { color: #ae7220; font-weight: 500; }
.hero-intro { max-width: 520px; margin: 42px 0 34px; font-size: 17px; line-height: 1.7; color: #4d625d; }
.hero-actions { display: flex; align-items: center; gap: 30px; }
.text-link { font-size: 13px; font-weight: 600; border-bottom: 1px solid rgba(22,45,40,.35); padding: 8px 0; }
.hero-art { position: relative; min-height: 650px; background: var(--forest); overflow: hidden; }
.sun { position: absolute; width: 185px; height: 185px; border-radius: 50%; background: var(--saffron); top: 70px; right: 60px; }
.arch { position: absolute; border-radius: 50% 50% 0 0; border: 2px solid rgba(245,240,230,.28); border-bottom: 0; }
.arch-one { width: 480px; height: 480px; left: -70px; bottom: -20px; }
.arch-two { width: 340px; height: 340px; left: 0; bottom: -20px; }
.person { position: absolute; bottom: 0; width: 130px; height: 285px; border-radius: 68px 68px 0 0; }
.person span { position: absolute; width: 72px; height: 72px; top: -48px; left: 29px; border-radius: 50%; }
.person-one { left: 110px; background: #d9744d; transform: rotate(-3deg); }
.person-one span { background: #f0c8a6; }
.person-two { left: 250px; height: 230px; background: #e9c15d; transform: rotate(4deg); }
.person-two span { background: #8a4d2f; }
.hero-art p { position: absolute; right: 36px; bottom: 34px; color: var(--cream); font-family: var(--font-serif); font-size: 23px; line-height: 1.05; font-style: italic; }
.side-note { position: absolute; left: 22px; top: 50%; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; letter-spacing: .23em; color: #78918b; }
.statement { padding: 120px 8vw; display: grid; grid-template-columns: 25% 75%; border-bottom: 1px solid #d9d1c3; }
.statement > div { max-width: 900px; }
.statement h2 { font-size: clamp(45px, 5.6vw, 78px); line-height: .98; letter-spacing: -.035em; }
.statement > div > p { max-width: 560px; margin: 32px 0 0 auto; font-size: 16px; line-height: 1.7; color: #53625f; }
.project-intro { padding: 110px 8vw; display: grid; grid-template-columns: 1.1fr .9fr; gap: 8vw; background: var(--paper); border-bottom: 1px solid #d9d1c3; }
.project-intro h2 { max-width: 730px; font-size: clamp(50px, 5.7vw, 82px); line-height: .92; letter-spacing: -.035em; }
.project-summary > p { margin: 0 0 38px; color: #52645f; font-size: 16px; line-height: 1.75; }
.proposal-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; padding: 28px 0; border-top: 1px solid #d9d1c3; border-bottom: 1px solid #d9d1c3; }
.proposal-facts div { display: flex; flex-direction: column; gap: 5px; }
.proposal-facts strong { font-family: var(--font-serif); font-size: 39px; font-weight: 600; color: #ae7220; }
.proposal-facts span, .project-summary small { font-size: 10px; line-height: 1.4; color: #697a75; text-transform: uppercase; letter-spacing: .08em; }
.project-summary small { display: block; margin-top: 22px; text-transform: none; letter-spacing: 0; }
.programs { background: var(--deep); color: var(--cream); padding: 115px 8vw 105px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 72px; }
.section-label.light { color: #e6b85c; }
.section-heading h2 { font-size: clamp(52px, 6vw, 84px); line-height: .87; }
.section-heading > p { max-width: 380px; color: #a9bbb5; line-height: 1.7; font-size: 15px; }
.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.program-grid article { padding: 42px 40px 10px 0; min-height: 330px; border-right: 1px solid rgba(255,255,255,.22); display: flex; flex-direction: column; }
.program-grid article + article { padding-left: 40px; }
.program-grid article:last-child { border-right: 0; }
.program-grid article > span { color: #e6b85c; font-size: 11px; }
.program-grid h3 { margin-top: 42px; font-size: 35px; }
.program-grid p { color: #a9bbb5; line-height: 1.65; font-size: 14px; }
.program-grid a { margin-top: auto; font-size: 12px; font-weight: 600; display: flex; justify-content: space-between; }
.timeline { padding: 115px 8vw; background: var(--cream); }
.timeline > h2 { max-width: 800px; font-size: clamp(50px, 6vw, 82px); line-height: .92; letter-spacing: -.035em; }
.phase-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border-top: 1px solid #cfc4b2; }
.phase-grid article { padding: 34px 40px 10px 0; border-right: 1px solid #cfc4b2; min-height: 260px; }
.phase-grid article + article { padding-left: 40px; }
.phase-grid article:last-child { border-right: 0; }
.phase-grid span { color: #a26717; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.phase-grid h3 { margin: 38px 0 18px; font-size: 33px; }
.phase-grid p { color: #61706c; font-size: 14px; line-height: 1.7; }
.locations { display: grid; grid-template-columns: 45% 55%; min-height: 620px; }
.location-art { position: relative; display: grid; place-items: center; overflow: hidden; background: var(--forest); color: var(--cream); }
.location-art:before, .location-art:after { content: ""; position: absolute; border: 1px solid rgba(245,240,230,.25); border-radius: 50%; }
.location-art:before { width: 420px; height: 420px; }
.location-art:after { width: 270px; height: 270px; }
.location-art > span { z-index: 2; font-family: var(--font-serif); font-size: 120px; font-style: italic; color: var(--saffron); }
.location-art p { position: absolute; z-index: 2; left: 42px; bottom: 34px; font-family: var(--font-serif); font-size: 22px; font-style: italic; }
.location-copy { padding: 110px 9vw; align-self: center; }
.location-copy h2 { font-size: clamp(52px, 5.5vw, 78px); line-height: .9; letter-spacing: -.035em; }
.location-copy > p:not(.section-label) { color: #556963; line-height: 1.75; max-width: 620px; font-size: 15px; }
.location-list { display: flex; gap: 40px; margin-top: 38px; padding-top: 25px; border-top: 1px solid #d9d1c3; color: #a26717; font-size: 11px; text-transform: uppercase; letter-spacing: .14em; }
.donate { padding: 110px 8vw 90px; background: #bd552f; color: white; }
.donate-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 7vw; align-items: end; }
.donate-heading .section-label { grid-column: 1 / -1; }
.donate-heading h2 { font-size: clamp(55px, 6vw, 85px); line-height: .9; }
.donate-heading h2 em { color: #f2cf80; }
.donate-heading > p:last-child { color: #f5d8cd; line-height: 1.75; max-width: 580px; }
.payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 65px; }
.payment-grid article { min-height: 310px; padding: 30px; background: #fffaf2; color: var(--deep); border-radius: 4px; display: flex; flex-direction: column; }
.payment-top { display: flex; align-items: center; justify-content: space-between; }
.payment-logo { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: white; font-family: var(--font-serif); font-size: 28px; font-weight: 600; }
.payment-logo.bkash { background: #d81b60; font-style: italic; }
.payment-logo.bank { background: var(--forest); }
.status { padding: 7px 10px; border: 1px solid #d8cab7; border-radius: 20px; color: #7f6c53; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.payment-grid h3 { margin: 28px 0 12px; font-size: 37px; }
.payment-grid p { color: #61706c; line-height: 1.7; font-size: 14px; }
.payment-note { margin-top: auto; padding-top: 18px; border-top: 1px solid #e1d7c8; color: #a26717; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.donation-safety { max-width: 760px; margin: 35px auto 0; text-align: center; color: #f5d8cd; font-size: 12px; line-height: 1.6; }
.story { display: grid; grid-template-columns: 46% 54%; min-height: 690px; }
.story-art { background: #dfaa3c; position: relative; overflow: hidden; display: grid; place-items: center; }
.story-art p { position: relative; z-index: 3; font-family: var(--font-serif); font-size: clamp(42px, 5vw, 68px); line-height: .91; text-align: center; color: var(--deep); font-style: italic; }
.story-ring { position: absolute; width: 390px; height: 390px; border: 1px solid rgba(12,48,41,.45); border-radius: 50%; }
.story-leaf { position: absolute; width: 180px; height: 320px; background: var(--forest); border-radius: 100% 0 100% 0; opacity: .9; }
.leaf-one { left: -60px; bottom: -110px; transform: rotate(18deg); }
.leaf-two { right: -80px; top: -100px; transform: rotate(195deg); }
.story-copy { padding: 110px 9vw; align-self: center; }
.story-copy h2 { font-size: clamp(52px, 5.3vw, 76px); line-height: .9; letter-spacing: -.035em; max-width: 620px; }
.story-copy > p:not(.section-label) { color: #556963; line-height: 1.75; max-width: 600px; font-size: 15px; }
.story-copy .dark { display: inline-block; margin-top: 18px; }
.give { padding: 105px 8vw; text-align: center; background: #bd552f; color: white; }
.give h2 { font-size: clamp(52px, 6vw, 86px); line-height: .9; }
.give h2 em { color: #f2cf80; }
.give > p:not(.section-label) { max-width: 580px; margin: 32px auto; line-height: 1.7; color: #f5d8cd; }
.give-actions { display: flex; justify-content: center; align-items: center; gap: 30px; }
.button-light { background: var(--cream); color: var(--deep); }
.button-light:hover { background: white; }
.light-link { border-color: rgba(255,255,255,.5); }
footer { padding: 55px 6vw 28px; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 30px; align-items: center; background: var(--cream); font-size: 12px; }
footer > div:nth-of-type(2) { display: flex; justify-content: flex-end; gap: 25px; }
footer small { grid-column: 1 / -1; padding-top: 28px; border-top: 1px solid #d1c7b6; color: #7b8985; }
@media (max-width: 800px) {
  .site-header { height: 82px; padding: 0 22px; }
  nav { display: none; }
  .lang-switch { margin-left:auto; }
  .brand { font-size: 10px; }
  .brand-mark { width: 37px; height: 37px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 75px 30px 70px; }
  h1 { font-size: 68px; }
  .hero-art { min-height: 500px; }
  .side-note { display: none; }
  .statement { padding: 80px 30px; grid-template-columns: 1fr; }
  .statement > div > p { margin-left: 0; }
  .project-intro { padding: 80px 30px; grid-template-columns: 1fr; }
  .proposal-facts { margin-top: 10px; }
  .programs { padding: 80px 30px; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 28px; }
  .program-grid { grid-template-columns: 1fr; }
  .program-grid article, .program-grid article + article { padding: 32px 0; min-height: 260px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .timeline { padding: 80px 30px; }
  .phase-grid { grid-template-columns: 1fr; }
  .phase-grid article, .phase-grid article + article { padding: 30px 0; border-right: 0; border-bottom: 1px solid #cfc4b2; min-height: 220px; }
  .locations { grid-template-columns: 1fr; }
  .location-art { min-height: 500px; }
  .location-copy { padding: 80px 30px; }
  .donate { padding: 80px 28px; }
  .donate-heading { grid-template-columns: 1fr; }
  .donate-heading .section-label { grid-column: 1; }
  .payment-grid { grid-template-columns: 1fr; }
  .story { grid-template-columns: 1fr; }
  .story-art { min-height: 520px; }
  .story-copy { padding: 80px 30px; }
  .give { padding: 80px 28px; }
  .give-actions { flex-direction: column; }
  footer { grid-template-columns: 1fr; }
  footer > div:nth-of-type(2) { justify-content: flex-start; }
  footer small { grid-column: 1; }
}
@media (max-width: 420px) {
  .button-small { padding: 0 16px; }
  h1 { font-size: 58px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .sun { width: 135px; height: 135px; right: 20px; }
  .person-one { left: 45px; }
  .person-two { left: 175px; }
}

/* Multi-page programme and story experience */
.home-hero { min-height: 720px; }
.bn-page { font-family:"Noto Sans Bengali","Hind Siliguri","Nirmala UI",sans-serif; }
.bn-page h1,.bn-page h2,.bn-page h3,.bn-page blockquote,.bn-page .hero-art p,.bn-page .philosophy-art p,.bn-page .behind-art p,.bn-page .volunteer-art p { font-family:"Noto Serif Bengali","Nirmala UI",serif; }
.bn-page h1 { line-height:.92; letter-spacing:-.035em; }
.bn-page h2 { line-height:1; letter-spacing:-.025em; }
.bn-page h3 { line-height:1.15; }
.bn-page nav { gap:22px; }
.bn-page .hero-intro,.bn-page p,.bn-page li { line-height:1.85; }
.bn-page .section-label,.bn-page .eyebrow { letter-spacing:.08em; }
.story-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.philosophy { min-height:680px; display:grid; grid-template-columns:45% 55%; background:var(--cream); border-bottom:1px solid #d9d1c3; }
.philosophy-copy { padding:115px 8vw; align-self:center; }
.philosophy-copy h2 { font-size:clamp(55px,6vw,88px); line-height:.88; letter-spacing:-.045em; }
.philosophy-copy > p:not(.section-label) { max-width:650px; margin:36px 0; color:#52645f; font-size:17px; line-height:1.75; }
.philosophy-principles { display:flex; flex-wrap:wrap; gap:15px 30px; padding-top:27px; border-top:1px solid #cfc4b2; color:#a26717; font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.philosophy-art { position:relative; min-height:680px; overflow:hidden; background:#bd552f; color:white; }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.35); border-radius:50%; left:50%; top:48%; transform:translate(-50%,-50%); }
.orbit-one { width:480px; height:480px; }
.orbit-two { width:330px; height:330px; }
.orbit-three { width:185px; height:185px; background:#dfaa3c; border:0; }
.seed { position:absolute; width:72px; height:115px; left:50%; top:48%; transform:translate(-50%,-50%) rotate(42deg); border-radius:100% 0 100% 0; background:var(--forest); }
.philosophy-leaf { position:absolute; width:125px; height:235px; border-radius:100% 0 100% 0; background:#f0c8a6; }
.philosophy-leaf-one { left:-25px; bottom:-40px; transform:rotate(18deg); }
.philosophy-leaf-two { right:-20px; top:-45px; transform:rotate(198deg); background:#e9c15d; }
.philosophy-art p { position:absolute; left:38px; bottom:34px; margin:0; font-family:var(--font-serif); font-size:23px; font-style:italic; line-height:1.08; }
.work-section { padding: 115px 8vw; background: var(--paper); }
.work-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5vw; align-items: end; }
.work-heading .section-label { grid-column: 1 / -1; }
.work-heading h2, .stories-heading h2 { font-size: clamp(54px,6vw,86px); line-height: .9; letter-spacing: -.04em; }
.work-heading > p:last-child, .stories-heading > p:last-child { color:#5f706a; line-height:1.7; max-width:520px; }
.ongoing-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; border-top:1px solid #d9d1c3; }
.ongoing-grid article { min-height:300px; padding:34px 34px 28px 0; border-right:1px solid #d9d1c3; border-bottom:1px solid #d9d1c3; display:flex; flex-direction:column; }
.ongoing-grid article:nth-child(3n+2), .ongoing-grid article:nth-child(3n+3) { padding-left:34px; }
.ongoing-grid article:nth-child(3n) { border-right:0; }
.ongoing-grid article > span, .card-index { color:#a26717; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.ongoing-grid h3 { margin:34px 0 12px; font-size:34px; }
.ongoing-grid p { color:#60716b; font-size:14px; line-height:1.65; }
.ongoing-grid a { margin-top:auto; font-size:12px; font-weight:600; }
.design-interlude { min-height:650px; display:grid; grid-template-columns:48% 52%; background:#dfaa3c; overflow:hidden; }
.growth-art { position:relative; min-height:650px; overflow:hidden; background:var(--forest); }
.growth-sun { position:absolute; width:150px; height:150px; border-radius:50%; background:#e9c15d; left:50%; top:72px; transform:translateX(-50%); }
.growth-path { position:absolute; left:50%; bottom:-210px; transform:translateX(-50%); border:2px solid rgba(245,240,230,.32); border-radius:50% 50% 0 0; border-bottom:0; }
.path-one { width:590px; height:570px; }
.path-two { width:385px; height:430px; }
.growth-leaf { position:absolute; width:150px; height:300px; bottom:35px; background:#d9744d; border-radius:100% 0 100% 0; }
.leaf-left { left:40px; transform:rotate(-18deg); }
.leaf-right { right:35px; transform:scaleX(-1) rotate(-18deg); background:#e9c15d; }
.growth-copy { align-self:center; padding:100px 9vw; }
.growth-copy h2 { font-size:clamp(55px,6vw,88px); line-height:.88; letter-spacing:-.045em; }
.growth-copy h2 em { color:var(--forest); }
.growth-copy > p:not(.section-label) { max-width:580px; margin:34px 0; color:#344d46; font-size:16px; line-height:1.75; }
.growth-copy > span { display:block; padding-top:24px; border-top:1px solid rgba(12,48,41,.35); color:var(--deep); font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.proposal-library { padding:115px 8vw; background:var(--deep); color:var(--cream); }
.proposal-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.proposal-card-grid article { min-height:380px; padding:34px; border:1px solid rgba(255,255,255,.2); display:flex; flex-direction:column; position:relative; overflow:hidden; isolation:isolate; }
.proposal-card-grid article:before { content:""; position:absolute; z-index:-1; width:190px; height:190px; right:-75px; bottom:-85px; border:1px solid rgba(230,184,92,.28); border-radius:50%; box-shadow:0 0 0 38px rgba(230,184,92,.045),0 0 0 76px rgba(230,184,92,.035); }
.proposal-card-grid article:nth-child(even):before { border-radius:100% 0 100% 0; background:rgba(189,85,47,.14); transform:rotate(18deg); }
.proposal-card-grid .card-index { color:#e6b85c; }
.status-pill { position:absolute; top:28px; right:28px; border:1px solid rgba(255,255,255,.28); border-radius:30px; padding:7px 11px; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.proposal-card-grid h3 { margin:70px 0 16px; font-size:42px; max-width:520px; }
.proposal-card-grid p { color:#acbbb6; line-height:1.7; max-width:560px; }
.proposal-card-grid a { margin-top:auto; display:flex; justify-content:space-between; padding-top:22px; border-top:1px solid rgba(255,255,255,.18); font-size:12px; font-weight:600; }
.volunteers { min-height:700px; display:grid; grid-template-columns:46% 54%; background:var(--paper); }
.volunteer-art { position:relative; min-height:700px; overflow:hidden; background:#d9744d; color:white; }
.volunteer-sun { position:absolute; width:145px; height:145px; right:55px; top:55px; border-radius:50%; background:#e9c15d; }
.volunteer-road { position:absolute; left:50%; bottom:-220px; transform:translateX(-50%); border:2px solid rgba(255,255,255,.35); border-radius:50% 50% 0 0; border-bottom:0; }
.road-wide { width:620px; height:610px; }
.road-narrow { width:340px; height:480px; }
.volunteer-figures i { position:absolute; bottom:0; width:88px; border-radius:48px 48px 0 0; background:var(--forest); }
.volunteer-figures i:before { content:""; position:absolute; width:50px; height:50px; top:-36px; left:19px; border-radius:50%; background:#f0c8a6; }
.volunteer-figures i:nth-child(1){height:210px;left:12%}.volunteer-figures i:nth-child(2){height:265px;left:34%;background:#e9c15d}.volunteer-figures i:nth-child(2):before{background:#8a4d2f}.volunteer-figures i:nth-child(3){height:185px;left:56%;background:#f0c8a6}.volunteer-figures i:nth-child(3):before{background:#6d3b28}.volunteer-figures i:nth-child(4){height:235px;left:78%;background:var(--deep)}
.volunteer-art p { position:absolute; left:36px; top:38px; margin:0; font-family:var(--font-serif); font-size:24px; font-style:italic; line-height:1.08; }
.volunteer-copy { padding:105px 8vw; align-self:center; }
.volunteer-copy h2 { font-size:clamp(55px,6vw,88px); line-height:.88; letter-spacing:-.045em; }
.volunteer-copy > p:not(.section-label):not(.volunteer-note) { max-width:650px; color:#52645f; font-size:16px; line-height:1.75; }
.volunteer-ways { display:grid; grid-template-columns:1fr 1fr; margin:35px 0; border-top:1px solid #d3c9b9; border-left:1px solid #d3c9b9; }
.volunteer-ways span { padding:20px; border-right:1px solid #d3c9b9; border-bottom:1px solid #d3c9b9; color:#a26717; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.volunteer-contact { margin-top:34px; border-top:1px solid #d3c9b9; border-bottom:1px solid #d3c9b9; }
.volunteer-contact summary { padding:20px 0; display:flex; justify-content:space-between; cursor:pointer; color:var(--deep); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; list-style:none; }
.volunteer-contact summary::-webkit-details-marker { display:none; }
.volunteer-contact summary span { color:#a26717; font-size:20px; line-height:.7; }
.volunteer-contact[open] summary span { transform:rotate(45deg); }
.volunteer-contact > div { padding:5px 0 24px; }
.volunteer-contact h3 { font-size:29px; }
.volunteer-contact p { color:#52645f; line-height:1.7; }
.volunteer-email { display:inline-block; margin:4px 0 20px; color:#a26717; font-family:var(--font-serif); font-size:25px; border-bottom:1px solid rgba(162,103,23,.35); }
.volunteer-contact small { display:block; color:#8b6542; }
.behind-scenes { min-height:720px; display:grid; grid-template-columns:56% 44%; background:var(--deep); color:var(--cream); }
.behind-copy { padding:110px 8vw; align-self:center; }
.behind-copy h2 { font-size:clamp(58px,6.3vw,92px); line-height:.86; letter-spacing:-.045em; }
.behind-copy h2 em { color:#e6b85c; }
.behind-copy > p:not(.section-label) { max-width:680px; color:#b4c2bd; font-size:16px; line-height:1.75; }
.behind-copy strong { color:var(--cream); font-weight:600; }
.behind-copy blockquote { max-width:650px; margin:38px 0 0; padding:24px 0 0 28px; border-top:1px solid rgba(255,255,255,.2); border-left:3px solid #e6b85c; color:#e6b85c; font-family:var(--font-serif); font-size:25px; font-style:italic; line-height:1.35; }
.behind-art { position:relative; min-height:720px; overflow:hidden; background:#e9c15d; color:var(--deep); }
.thread { position:absolute; width:540px; height:540px; left:50%; top:46%; transform:translate(-50%,-50%); border:1px solid rgba(12,48,41,.35); border-radius:50%; }
.thread-two { width:390px; height:390px; border-radius:48% 52% 40% 60%; transform:translate(-50%,-50%) rotate(28deg); }
.thread-three { width:250px; height:250px; border-radius:58% 42% 62% 38%; transform:translate(-50%,-50%) rotate(-22deg); }
.shared-circle { position:absolute; width:120px; height:120px; left:50%; top:46%; transform:translate(-50%,-50%); border-radius:50%; background:#bd552f; }
.people-dots i { position:absolute; width:44px; height:44px; border-radius:50%; background:var(--forest); left:calc(50% - 22px); top:calc(46% - 22px); }
.people-dots i:nth-child(1){transform:translate(-175px,-110px)} .people-dots i:nth-child(2){transform:translate(8px,-190px);background:#d9744d} .people-dots i:nth-child(3){transform:translate(165px,-75px);background:#f0c8a6} .people-dots i:nth-child(4){transform:translate(175px,105px)} .people-dots i:nth-child(5){transform:translate(-5px,180px);background:#d9744d} .people-dots i:nth-child(6){transform:translate(-185px,95px);background:#f0c8a6} .people-dots i:nth-child(7){width:30px;height:30px;transform:translate(115px,25px);background:var(--deep)}
.behind-art p { position:absolute; left:38px; bottom:34px; margin:0; font-family:var(--font-serif); font-size:25px; font-style:italic; line-height:1.05; }
.field-stories { padding:115px 8vw; background:var(--cream); }
.stories-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:end; margin-bottom:65px; }
.stories-heading .section-label { grid-column:1 / -1; }
.stories-heading h2 em { color:#ae7220; }
.story-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:46px 18px; }
.story-gallery article { min-width:0; }
.story-image { height:280px; position:relative; overflow:hidden; background:#d8d2c7; }
.story-gallery article > span { display:block; margin-top:20px; color:#a26717; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.story-gallery h3 { margin:14px 0 8px; font-size:30px; }
.story-gallery p { color:#60716b; line-height:1.65; }
.choose-support { padding:110px 8vw; text-align:center; color:white; background:#bd552f; }
.choose-support h2 { font-size:clamp(58px,7vw,96px); line-height:.86; }
.choose-support h2 em { color:#f2cf80; }
.choose-support > p:not(.section-label) { max-width:580px; margin:30px auto; color:#f5d8cd; line-height:1.7; }
.detail-hero { min-height:620px; padding:110px 8vw 80px; background:var(--forest); color:var(--cream); display:flex; justify-content:space-between; align-items:flex-end; gap:40px; position:relative; overflow:hidden; isolation:isolate; }
.detail-hero:before,.detail-hero:after { content:""; position:absolute; z-index:-1; border:1px solid rgba(245,240,230,.13); border-radius:50%; }
.detail-hero:before { width:620px; height:620px; right:-180px; top:-280px; }
.detail-hero:after { width:360px; height:360px; right:-50px; top:-115px; background:rgba(229,168,58,.08); }
.detail-hero > div { max-width:1000px; }
.detail-hero h1 { font-size:clamp(65px,8vw,118px); line-height:.82; }
.detail-hero p:not(.eyebrow) { max-width:700px; margin-top:35px; color:#b5c3be; font-size:18px; line-height:1.65; }
.detail-hero > span { align-self:flex-start; padding:9px 13px; border:1px solid rgba(255,255,255,.3); border-radius:30px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.detail-body { display:grid; grid-template-columns:230px 1fr; gap:7vw; padding:100px 8vw 120px; }
.detail-body aside { font-size:12px; line-height:1.7; }
.detail-body aside p { margin-top:45px; color:#64736f; }
.detail-body > div { max-width:950px; }
.detail-body h2 { font-size:56px; }
.detail-lead { font-size:20px; line-height:1.7; color:#50635d; }
.detail-overview { margin-top:30px; max-width:900px; color:#566862; font-size:16px; line-height:1.8; }
.detail-overview p + p { margin-top:20px; }
.detail-explainer { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.detail-explainer section { padding:30px; background:var(--cream); }
.detail-explainer span { color:#a26717; font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.detail-explainer p { margin:18px 0 0; color:#53655f; font-size:14px; line-height:1.75; }
.detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:55px 0; padding:42px 0; border-top:1px solid #d9d1c3; border-bottom:1px solid #d9d1c3; }
.detail-columns h3 { font-size:32px; }
.detail-columns ul { padding-left:20px; color:#566862; line-height:1.75; }
.detail-note { padding:22px; background:var(--cream); color:#705e48; line-height:1.6; font-size:13px; margin-bottom:35px; }
.donate-page { background:var(--paper); }
.donate-intro { padding:100px 8vw 75px; border-bottom:1px solid #d9d1c3; position:relative; overflow:hidden; isolation:isolate; }
.donate-intro:after { content:""; position:absolute; z-index:-1; width:310px; height:520px; right:7vw; top:-180px; background:#e9c15d; opacity:.28; border-radius:100% 0 100% 0; transform:rotate(20deg); }
.donate-intro h1 { font-size:clamp(67px,8vw,115px); line-height:.82; }
.donate-intro p:last-child { max-width:620px; color:#5e706a; line-height:1.7; }
.donation-projects { padding:70px 8vw 120px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.donation-option { min-height:290px; padding:30px; border:1px solid #d7cdbd; display:flex; flex-direction:column; transition:.2s; }
.donation-option:hover { transform:translateY(-3px); border-color:#a26717; }
.donation-option > span { color:#a26717; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.donation-option h2 { margin:38px 0 12px; font-size:36px; }
.donation-option p { color:#60716b; font-size:14px; line-height:1.6; }
.donation-option strong { margin-top:auto; font-size:12px; }
.payment-stage { padding:70px 8vw 120px; }
.selected-purpose { padding:35px; background:var(--forest); color:white; }
.selected-purpose > span { color:#e6b85c; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.selected-purpose h2 { margin:25px 0; font-size:48px; max-width:850px; }
.selected-purpose a { font-size:12px; text-decoration:underline; }
.payment-methods { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:25px; }
.payment-methods article { padding:35px; min-height:330px; border:1px solid #d8cdbc; display:flex; flex-direction:column; }
.payment-methods h3 { margin:25px 0 10px; font-size:37px; }
.payment-methods p { color:#61706c; line-height:1.7; }
.payment-methods button { margin-top:auto; min-height:48px; border:0; background:#ded7ca; color:#766f64; font-weight:600; cursor:not-allowed; }
.payment-warning { padding:20px; text-align:center; background:#f3dfd6; color:#7b402a; font-size:12px; }
.donation-option.selected{border-color:#a26717;background:#f7efe2}.donation-contact-form{padding-bottom:30px}.donation-contact-form button{justify-self:start}.donor-privacy{color:#60716b;font-size:12px;line-height:1.6}
.application-page{min-height:100vh;background:var(--paper)}.application-intro{padding:90px 8vw 70px;background:var(--forest);color:var(--cream)}.application-intro h1{font-size:clamp(58px,7vw,100px);line-height:.86}.application-intro>p:last-child{max-width:680px;color:#b8c8c2;line-height:1.75;font-size:17px}.application-form{max-width:1050px;margin:0 auto;padding:75px 30px 110px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.application-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600}.application-form input,.application-form select,.application-form textarea{width:100%;padding:14px;border:1px solid #cfc6b7;background:white;font:inherit}.application-form textarea{min-height:130px}.application-form .wide{grid-column:1/-1}.application-form .consent{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.6}.application-form .consent input{width:auto;margin-top:4px}.application-form button{border:0;cursor:pointer}.form-trap{position:absolute!important;left:-10000px!important}.application-thanks{max-width:800px;margin:80px auto;padding:70px;text-align:center;background:var(--cream)}.application-thanks h2{font-size:65px}.application-thanks p{margin:20px 0 30px;color:#596b65}
@media(max-width:800px){
  .work-section,.proposal-library,.field-stories { padding:80px 30px; }
  .philosophy { grid-template-columns:1fr; }
  .philosophy-copy { padding:80px 30px; }
  .philosophy-art { min-height:520px; }
  .orbit-one { width:390px; height:390px; }
  .design-interlude { grid-template-columns:1fr; }
  .growth-art { min-height:520px; }
  .growth-copy { padding:80px 30px; }
  .behind-scenes { grid-template-columns:1fr; }
  .volunteers { grid-template-columns:1fr; }
  .volunteer-art { min-height:520px; }
  .volunteer-copy { padding:80px 30px; }
  .behind-copy { padding:80px 30px; }
  .behind-art { min-height:540px; }
  .thread { width:410px; height:410px; }
  .people-dots i:nth-child(1){transform:translate(-140px,-90px)} .people-dots i:nth-child(2){transform:translate(0,-150px)} .people-dots i:nth-child(3){transform:translate(125px,-65px)} .people-dots i:nth-child(4){transform:translate(135px,80px)} .people-dots i:nth-child(5){transform:translate(0,135px)} .people-dots i:nth-child(6){transform:translate(-140px,70px)}
  .work-heading,.stories-heading { grid-template-columns:1fr; }
  .work-heading .section-label,.stories-heading .section-label { grid-column:1; }
  .ongoing-grid,.proposal-card-grid,.story-gallery,.donation-projects,.payment-methods { grid-template-columns:1fr; }
  .ongoing-grid article,.ongoing-grid article:nth-child(3n+2),.ongoing-grid article:nth-child(3n+3){padding:30px 0;border-right:0;}
  .story-image { min-height:0;height:360px; }
  .detail-hero { min-height:540px; padding:85px 30px 60px; display:block; }
  .detail-hero > span { display:inline-block; margin-top:35px; }
  .detail-body { grid-template-columns:1fr; padding:75px 30px; }
  .detail-columns { grid-template-columns:1fr; }
  .detail-explainer { grid-template-columns:1fr; }
  .donate-intro { padding:80px 30px 55px; }
  .donation-projects,.payment-stage { padding:55px 30px 90px; }
  .application-form{grid-template-columns:1fr}.application-form .wide{grid-column:1}.application-intro{padding:70px 30px}.application-thanks{margin:30px;padding:45px 25px}
}
