@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root { --cream:#f5f0e7; --ink:#141310; --orange:#ee7142; --line:rgba(20,19,16,.24); --mono:'DM Mono',monospace; --sans:'DM Sans',sans-serif; --serif:'DM Sans',sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); overflow-x:hidden; } a { color:inherit; text-decoration:none; } .grain { position:fixed; inset:0; pointer-events:none; opacity:.24; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); }
.site-header { display:flex; align-items:center; justify-content:space-between; max-width:1440px; margin:auto; padding:22px 5vw; border-bottom:1px solid var(--line); position:relative; z-index:10; } .brand { display:block; width:116px; height:42px; } .brand img { width:100%; height:100%; object-fit:contain; object-position:left center; display:block; } .nav { display:flex; gap:28px; font:500 10px/1 var(--mono); text-transform:uppercase; letter-spacing:.05em; } .nav a:hover,.text-link:hover { text-decoration:underline; text-underline-offset:4px; } .menu-toggle { display:none; border:0; background:transparent; width:38px; height:28px; padding:5px; cursor:pointer; } .menu-toggle span { display:block; height:1.5px; margin:5px 0; background:var(--ink); transition:.2s; }
.section,.hero { max-width:1440px; margin:auto; padding-left:5vw; padding-right:5vw; }.hero { min-height:calc(100vh - 87px); padding-top:7vh; display:flex; flex-direction:column; justify-content:space-between; padding-bottom:3vh; }.eyebrow,.kicker,.project-meta,.project-label,.project-tags,.footer-bottom { font:500 10px/1.2 var(--mono); letter-spacing:.07em; text-transform:uppercase; }.hero-grid { display:grid; grid-template-columns:1.28fr .72fr; align-items:end; gap:6vw; margin-top:auto; margin-bottom:auto; }.hero h1,.section-heading h2,.about h2,footer h2 { font:700 clamp(4rem,9.9vw,10rem)/.84 var(--serif); letter-spacing:-.075em; margin:0; }.hero h1 em,.section-heading h2 em,.about h2 em,footer h2 em { color:var(--orange); }.hero-side { padding-bottom:12px; max-width:470px; }.hero-side p,.about-copy>p,.involved-copy { font-size:clamp(1rem,1.45vw,1.28rem); line-height:1.42; margin:0; }.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:30px; }.button { display:inline-flex; align-items:center; gap:24px; padding:15px 18px; font:500 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.03em; transition:transform .2s,background .2s; }.button:hover { transform:translate(-3px,-3px); }.button span { font-size:16px; }.button-dark { color:var(--cream); background:var(--ink); box-shadow:4px 4px 0 var(--orange); }.text-link { font:500 11px var(--mono); text-transform:uppercase; }.text-link span { color:var(--orange); font-size:18px; }.hero-foot { display:flex; align-items:center; justify-content:space-between; font:500 10px var(--mono); letter-spacing:.05em; }.scribble { color:var(--orange); font:600 22px/1 var(--serif); font-style:italic; letter-spacing:-.04em; transform:rotate(-5deg); }
.intro { padding-top:16vh; padding-bottom:14vh; border-top:1px solid var(--line); }.statement { font:700 clamp(2.4rem,5.1vw,5.5rem)/.98 var(--serif); max-width:1000px; letter-spacing:-.065em; margin-top:32px; }.statement span { color:var(--orange); font-style:italic; }.pillars { padding-bottom:16vh; }.pillar { border-top:1px solid var(--ink); display:grid; grid-template-columns:14% 1fr auto; align-items:center; gap:20px; padding:27px 0; transition:padding .25s,background .25s; }.pillar:last-child { border-bottom:1px solid var(--ink); }.pillar:hover { padding-left:16px; padding-right:16px; background:#eee7db; }.number { font:500 10px var(--mono); }.pillar h2 { font:700 clamp(2.3rem,5vw,5rem)/.9 var(--serif); margin:0; letter-spacing:-.06em; }.pillar p { max-width:450px; margin:11px 0 0; font-size:14px; line-height:1.4; }.arrow { font-size:30px; color:var(--orange); }.pillar.orange { background:var(--orange); }.pillar.orange .arrow { color:var(--ink); }
.how { background:var(--ink); color:var(--cream); max-width:none; padding:13vh max(5vw,calc((100vw - 1440px)/2 + 5vw)); }.how .section-heading h2 { margin-top:30px; }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:5vw; margin-top:10vh; }.step { border-top:1px solid rgba(245,240,231,.5); padding-top:15px; }.step span { font:500 10px var(--mono); color:var(--orange); }.step h3 { font:700 2.2rem/.9 var(--serif); letter-spacing:-.05em; margin:36px 0 14px; }.step p { max-width:300px; font-size:15px; line-height:1.45; margin:0; color:#d8d0c3; }
.projects { padding-top:16vh; padding-bottom:15vh; }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; }.section-heading h2 { margin-top:34px; }.project-card { background:var(--orange); margin-top:10vh; padding:20px; min-height:530px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }.project-card:after { content:'✳'; font:clamp(12rem,30vw,31rem)/1 var(--serif); position:absolute; right:-.12em; bottom:-.25em; color:rgba(245,240,231,.35); }.project-meta,.project-tags { display:flex; justify-content:space-between; gap:10px; position:relative; z-index:1; }.project-main { position:relative; z-index:1; max-width:620px; }.project-label { margin:0 0 18px; }.project-main h3 { font:700 clamp(3.5rem,7.5vw,8rem)/.83 var(--serif); letter-spacing:-.075em; margin:0; }.project-main>p:last-child { max-width:430px; font-size:16px; line-height:1.4; margin:28px 0 0; }.project-tags { justify-content:flex-start; flex-wrap:wrap; }.project-tags span { border:1px solid var(--ink); padding:7px 8px; font-size:9px; }.cause-note { margin:45px 10% 0 auto; max-width:700px; display:flex; gap:18px; font:600 clamp(1.25rem,2vw,2rem)/1.15 var(--serif); letter-spacing:-.045em; }.star { color:var(--orange); font-family:var(--sans); }
.about { display:grid; grid-template-columns:.65fr 1.35fr; gap:5vw; padding-top:16vh; padding-bottom:16vh; border-top:1px solid var(--line); }.about-mark { color:var(--orange); font:700 clamp(10rem,25vw,25rem)/.7 var(--serif); letter-spacing:-.15em; transform:rotate(-8deg); }.about-copy { max-width:730px; }.about-copy h2 { margin:30px 0 44px; }.about-copy>p { max-width:610px; margin-bottom:20px; }.involved { padding-top:14vh; padding-bottom:14vh; background:#dfd6c7; max-width:none; padding-left:max(5vw,calc((100vw - 1440px)/2 + 5vw)); padding-right:max(5vw,calc((100vw - 1440px)/2 + 5vw)); }.involved .section-heading { display:block; }.involved-copy { max-width:530px; margin:7vh 0 36px; }.involved-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:42px; }.involved-list span { border:1px solid var(--ink); border-radius:20px; padding:8px 11px; font:500 10px var(--mono); }.button-orange { background:var(--orange); color:var(--ink); box-shadow:4px 4px 0 var(--ink); }
footer { background:var(--orange); padding:12vh max(5vw,calc((100vw - 1440px)/2 + 5vw)) 28px; } footer h2 { margin:32px 0 9vh; }.footer-links { border-top:1px solid var(--ink); }.footer-links a { border-bottom:1px solid var(--ink); display:flex; justify-content:space-between; padding:17px 0; font:700 clamp(1.5rem,3vw,3rem)/1 var(--serif); letter-spacing:-.05em; transition:padding .2s; }.footer-links a:hover { padding-left:12px; }.footer-bottom { display:flex; justify-content:space-between; margin-top:10vh; }
.contact-form { display:grid; gap:18px; max-width:760px; border-top:1px solid var(--ink); padding-top:18px; }.contact-form label { display:grid; gap:8px; font:500 10px var(--mono); text-transform:uppercase; letter-spacing:.06em; }.contact-form input,.contact-form textarea { width:100%; border:0; border-bottom:1px solid var(--ink); outline:0; background:transparent; padding:8px 0; border-radius:0; font:400 16px var(--sans); resize:vertical; }.contact-form textarea { min-height:90px; }.form-submit { width:max-content; border:1px solid var(--ink); background:var(--ink); color:var(--cream); padding:13px 18px; cursor:pointer; font:500 10px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.form-submit:hover { background:transparent; color:var(--ink); }.form-status { margin:0; font:500 12px var(--sans); }.honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }.contact-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:50px; }.instagram-link,.email-link { display:inline-flex; align-items:center; justify-content:center; padding:15px 20px; font:600 13px/1 var(--sans); letter-spacing:-.02em; transition:transform .2s; }.instagram-link { background:var(--cream); color:var(--ink); }.email-link { background:var(--ink); color:var(--cream); }.instagram-link:hover,.email-link:hover { transform:translate(-3px,-3px); }
.contact-form input,.contact-form textarea { background:var(--cream); border:1px solid var(--cream); padding:12px 14px; }.contact-form input:focus,.contact-form textarea:focus { outline:2px solid var(--ink); outline-offset:2px; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }.reveal.is-visible { opacity:1; transform:translateY(0); }
@media (max-width:700px) { .site-header { padding-top:16px;padding-bottom:16px; } .brand { width:98px; height:36px; }.menu-toggle { display:block; z-index:3; }.menu-toggle.open span:first-child { transform:translateY(3.25px) rotate(45deg); }.menu-toggle.open span:last-child { transform:translateY(-3.25px) rotate(-45deg); }.nav { position:absolute; visibility:hidden; opacity:0; transform:translateY(-8px); transition:.2s; top:100%; left:0; right:0; padding:28px 5vw; flex-direction:column; gap:21px; background:var(--cream); border-bottom:1px solid var(--ink); font-size:12px; }.nav.open { visibility:visible; opacity:1; transform:translateY(0); }.hero { min-height:calc(100svh - 69px); padding-top:34px; }.hero-grid { display:block; margin:auto 0; }.hero h1 { font-size:clamp(4.2rem,21vw,6.5rem); }.hero-side { margin-top:45px; }.hero-side p { font-size:1rem; }.hero-foot { font-size:8px; }.hero-foot>span:last-child { display:none; }.intro { padding-top:100px;padding-bottom:90px; }.statement { font-size:2.55rem; margin-top:24px; }.pillars { padding-bottom:100px; }.pillar { grid-template-columns:40px 1fr 24px; padding:22px 0; }.pillar h2 { font-size:2.6rem; }.pillar p { font-size:13px; }.how { padding-top:95px;padding-bottom:95px; }.section-heading h2,.about h2,footer h2 { font-size:clamp(3.6rem,17vw,5.3rem); }.steps { grid-template-columns:1fr; gap:38px; margin-top:60px; }.step h3 { margin-top:25px; }.projects { padding-top:100px;padding-bottom:100px; }.project-card { min-height:510px; margin-top:60px; padding:15px; }.project-meta { font-size:8px; }.project-main h3 { font-size:3.9rem; }.project-main>p:last-child { font-size:14px; }.project-tags { font-size:8px; }.cause-note { margin:34px 0 0; font-size:1.35rem; }.about { grid-template-columns:1fr; padding-top:100px;padding-bottom:100px; gap:50px; }.about-mark { font-size:13rem; }.about-copy h2 { margin-bottom:30px; }.involved { padding-top:95px;padding-bottom:95px; }.footer-bottom { gap:15px; flex-direction:column; font-size:8px; } }
@media (max-width:700px) { .contact-form { gap:16px; }.contact-actions { margin-top:38px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; } * { transition-duration:.01ms !important; animation-duration:.01ms !important; } }

.gallery-open { border:0; background:transparent; padding:8px; color:var(--orange); font-size:30px; cursor:pointer; transition:transform .2s; }.pillar.orange .gallery-open { color:var(--ink); }.pillar:hover .gallery-open { transform:translate(3px,-3px); }
.gallery { padding-bottom:16vh; margin-top:-11vh; }.gallery-panel { display:none; grid-template-columns:1.35fr .65fr; background:var(--ink); color:var(--cream); }.gallery-panel.active { display:grid; }.gallery-image { min-height:440px; padding:16px; }.photo-placeholder { height:100%; min-height:440px; background:#ded6c9; color:var(--ink); display:flex; flex-direction:column; justify-content:space-between; padding:18px; font:500 10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.photo-placeholder strong { align-self:center; font:600 clamp(1.5rem,3vw,3rem)/1 var(--serif); letter-spacing:-.05em; text-transform:none; }.gallery-info { padding:38px; display:flex; flex-direction:column; justify-content:space-between; }.gallery-info>p:not(.kicker) { max-width:280px; font:600 clamp(1.45rem,2.4vw,2.5rem)/1.05 var(--serif); letter-spacing:-.045em; }.gallery-controls { display:flex; align-items:center; gap:16px; font:500 10px var(--mono); }.gallery-controls button { width:36px; height:36px; border:1px solid rgba(245,240,231,.6); border-radius:50%; color:var(--cream); background:transparent; cursor:pointer; font-size:16px; }.gallery-controls button:hover { background:var(--cream); color:var(--ink); }
@media (max-width:700px) { .gallery { margin-top:-60px; padding-bottom:100px; }.gallery-panel.active { display:block; }.gallery-image,.photo-placeholder { min-height:300px; }.gallery-info { min-height:220px; padding:24px; }.gallery-info>p:not(.kicker) { font-size:1.6rem; } }

/* Photo placements */
.gallery { display:none; }
.pillar { grid-template-columns:14% minmax(280px,.8fr) minmax(300px,1fr); min-height:230px; padding:16px 0; }
.pillar-copy { padding-right:28px; }.inline-gallery { align-self:stretch; min-height:196px; position:relative; overflow:hidden; }.inline-placeholder,.project-media,.involved-media { background:#e4dccf; color:var(--ink); display:flex; flex-direction:column; justify-content:space-between; padding:14px; font:500 9px var(--mono); letter-spacing:.07em; text-transform:uppercase; }.inline-placeholder { height:100%; }.inline-placeholder strong,.project-media strong,.involved-media strong { align-self:center; margin:auto; font:600 clamp(1.25rem,2.2vw,2.2rem)/1 var(--serif); letter-spacing:-.045em; text-transform:none; }.inline-controls { position:absolute; right:12px; bottom:10px; display:flex; align-items:center; gap:10px; color:var(--ink); font:500 9px var(--mono); }.inline-controls button { border:0; background:rgba(245,240,231,.85); width:26px; height:26px; cursor:pointer; }.pillar.orange .inline-placeholder { background:#d95e31; }.pillar.orange .inline-controls button { background:rgba(245,240,231,.85); }
.project-card { min-height:580px; }.project-content { display:grid; grid-template-columns:1fr 1.05fr; gap:5vw; align-items:stretch; flex:1; padding:42px 3vw; }.project-media { min-height:330px; background:#e8653a; }.project-main { align-self:center; }.project-card .project-meta,.project-card .project-tags { position:static; z-index:auto; }.project-card .project-main { position:static; }.involved { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:stretch; }.involved-content { max-width:630px; }.involved-media { min-height:420px; background:#d2c7b7; }
@media (max-width:1050px) and (min-width:701px) { .hero-grid { grid-template-columns:1fr 1fr; }.hero h1 { font-size:clamp(4.8rem,9vw,7.5rem); }.hero-side { max-width:390px; }.pillar { grid-template-columns:10% minmax(240px,.9fr) minmax(240px,1fr); }.pillar h2 { font-size:clamp(2.3rem,4.5vw,4rem); } }
@media (max-width:700px) { .pillar { grid-template-columns:34px 1fr; gap:12px; padding:22px 0; }.pillar-copy { padding-right:0; }.inline-gallery { grid-column:1 / -1; min-height:260px; margin-top:4px; }.project-content { display:block; padding:25px 0; }.project-media { min-height:260px; margin-top:30px; }.involved { display:block; }.involved-media { min-height:280px; margin-top:45px; }.project-card { min-height:0; } }

/* Contemporary sans-serif typography and editable photo slots */
.brand,.hero h1,.section-heading h2,.about h2,footer h2,.statement,.pillar h2,.step h3,.project-main h3,.cause-note,.photo-placeholder strong,.inline-placeholder strong,.project-media strong,.involved-media strong { font-family:var(--sans); font-weight:700; letter-spacing:-.07em; }
.hero h1,.section-heading h2,.about h2,footer h2 { line-height:.88; }.hero h1 em,.section-heading h2 em,.about h2 em,footer h2 em { font-style:normal; }.editable-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }.inline-placeholder,.project-media,.involved-media { position:relative; overflow:hidden; }.inline-placeholder > span,.inline-placeholder > strong,.project-media > span,.project-media > strong,.involved-media > span,.involved-media > strong { position:relative; z-index:1; }.editable-image + span { background:rgba(245,240,231,.88); padding:4px; align-self:flex-start; }.editable-image ~ strong { color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.55); }.button span,.text-link span { display:none; }
.hero-media .editable-image,.how-media .editable-image,.inline-placeholder .editable-image,.project-media .editable-image,.involved-media .editable-image { z-index:2; }.has-image > span,.has-image > strong { display:none; }

/* Stable headline sizing and two new editable image areas */
.brand,.hero h1,.section-heading h2,.about h2,footer h2,.statement,.pillar h2,.step h3,.project-main h3,.cause-note,.photo-placeholder strong,.inline-placeholder strong,.project-media strong,.involved-media strong { letter-spacing:-.025em; }
.hero-grid { grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); }.hero h1 { max-width:8ch; overflow-wrap:anywhere; }.hero-media,.how-media { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-height:380px; background:#ded6c9; color:var(--ink); padding:16px; font:500 10px var(--mono); letter-spacing:.07em; text-transform:uppercase; }.hero-media > span,.hero-media > strong,.how-media > span,.how-media > strong { position:relative; z-index:1; }.hero-media strong,.how-media strong { align-self:center; margin:auto; font:700 clamp(1.3rem,2.4vw,2.2rem)/1 var(--sans); text-transform:none; letter-spacing:-.025em; }.how-top { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:6vw; align-items:stretch; }.how .section-heading { display:block; }.how .section-heading h2 { margin-top:30px; max-width:8ch; }.how-media { min-height:430px; background:#27251f; color:var(--cream); }.how-media .editable-image + span { color:var(--ink); }.how-media .editable-image ~ strong { color:#fff; }
.how .section-heading h2 { font-size:clamp(3.2rem,5vw,5.4rem); max-width:100%; overflow-wrap:anywhere; }
@media (max-width:1050px) and (min-width:701px) { .hero-grid { grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); }.hero h1 { font-size:clamp(4.2rem,8vw,6.5rem); }.how-top { grid-template-columns:minmax(240px,.8fr) minmax(0,1fr); }.how .section-heading h2 { font-size:clamp(3.8rem,7vw,5.8rem); } }
@media (max-width:700px) { .hero-grid { grid-template-columns:1fr; }.hero h1 { max-width:none; letter-spacing:-.02em; }.hero-media { min-height:270px; margin-top:34px; }.how-top { display:block; }.how-media { min-height:280px; margin-bottom:55px; }.how .section-heading h2 { max-width:none; } }

/* Clean text-only first screen */
.hero-grid { grid-template-columns:1fr; }.hero-side { display:none; }

/* Illustration-only layout */
.pillar { grid-template-columns:14% 1fr auto; min-height:0; padding:28px 0; }.pillar-copy { padding-right:0; }.doodle { color:var(--orange); font:700 clamp(2rem,4vw,4rem)/1 var(--sans); letter-spacing:-.1em; padding:12px 2vw; }.doodle-sun { transform:rotate(18deg); }.doodle-cat { color:var(--ink); font:700 clamp(1.3rem,2.5vw,2.4rem)/1 var(--mono); letter-spacing:-.2em; transform:rotate(-8deg); }.how-media,.involved-media,.inline-gallery { display:none; }.how-top { grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); }.how-doodle { min-height:260px; display:flex; flex-direction:column; justify-content:center; align-items:center; color:var(--orange); font:700 clamp(2.8rem,6vw,6rem)/.7 var(--mono); letter-spacing:-.18em; transform:rotate(-8deg); }.how-doodle span { color:var(--cream); margin-top:28px; font-family:var(--sans); }.involved { display:block; position:relative; }.involved-doodle { position:absolute; right:10%; bottom:16%; color:var(--orange); font:700 clamp(2rem,5vw,5rem)/.7 var(--mono); letter-spacing:-.18em; transform:rotate(10deg); }.involved-doodle span { display:block; font-family:var(--sans); text-align:right; margin-top:18px; }.involved-content { max-width:700px; }
@media (max-width:700px) { .pillar { grid-template-columns:34px 1fr auto; }.doodle { padding:6px; font-size:2rem; }.how-top { display:block; }.how-doodle { min-height:170px; margin-bottom:30px; }.involved-doodle { position:static; margin-top:55px; text-align:center; } }

/* Mobile project card */
@media (max-width:700px) {
  .project-card { padding:16px; margin-top:42px; overflow:visible; }
  .project-content { padding:22px 0 26px; }
  .project-main h3 { font-size:clamp(2.8rem,14vw,3.7rem); line-height:.9; overflow-wrap:anywhere; }
  .project-main > p:last-child { margin-top:20px; }
  .project-media { min-height:0; height:260px; margin-top:28px; }
  .project-tags { gap:7px; align-items:center; }
  .project-tags span { font-size:7px; padding:7px 6px; white-space:nowrap; }
}

/* Event poster: preserve the original image exactly, with no crop or forced ratio */
.project-media { display:block; padding:0; min-height:0; height:auto; aspect-ratio:auto; background:#e8653a; }
.project-media .editable-image { position:relative; inset:auto; display:block; width:100%; height:auto; max-width:100%; object-fit:initial; background:transparent; }
.project-gallery { display:none; gap:12px; margin-top:14px; overflow-x:auto; padding-bottom:4px; }.project-gallery.populated { display:flex; }.gallery-frame { display:none; flex:0 0 min(300px,76vw); margin:0; background:#ddd3c4; }.gallery-frame.has-image { display:block; }.gallery-frame img { display:block; width:100%; height:260px; object-fit:cover; }
@media (max-width:700px) { .gallery-frame img { height:220px; } }

/* Minimal refinement */
.grain { display:none; }
.site-header { padding-top:20px; padding-bottom:20px; }
.brand { width:auto; height:auto; font:700 2rem/.8 var(--serif); letter-spacing:-.08em; }
.header-actions { display:flex; align-items:center; gap:18px; }
.language-switch { display:flex; gap:6px; align-items:center; font:500 10px/1 var(--mono); }
.lang { cursor:pointer; padding:0; border:0; background:transparent; color:#8d887e; font:inherit; }
.lang.active { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.hero { min-height:calc(100vh - 94px); }
.hero-foot { justify-content:flex-end; }
.project-card { position:static; overflow:visible; }
.project-card:after { display:none; }
.project-meta,.project-tags,.project-main { position:static; }
.about { display:block; }
.about-copy { margin-left:26%; }
@media (max-width:700px) { .site-header { padding-top:18px; padding-bottom:18px; } .brand { width:auto; height:auto; font-size:1.8rem; } .header-actions { gap:10px; } .hero { min-height:calc(100svh - 68px); } .about { display:block; } .about-copy { margin-left:0; } }


/* PLURRR overview update: keep the existing cream, ink and orange identity. */
html { scroll-padding-top:1.5rem; }
body { font-size:1rem; line-height:1.55; }
main { overflow-x:clip; }
.site-header { gap:1.5rem; flex-wrap:wrap; }
.brand { letter-spacing:-.055em; line-height:1.05; }
.nav { order:2; gap:1.25rem; font-size:.875rem; line-height:1.35; }
.header-actions { order:3; }
.language-switch { font-size:.875rem; line-height:1.35; gap:.35rem; }
.lang { min-width:2.25rem; min-height:2.75rem; color:#655f55; }
.lang.active { color:var(--ink); }
.eyebrow,.kicker,.number,.project-meta,.project-label,.project-tags,.footer-bottom { font-size:.8125rem; line-height:1.5; letter-spacing:.04em; }
.kicker { margin:0 0 1.25rem; }
.hero { min-height:0; padding-top:clamp(2.5rem,6vw,5.5rem); padding-bottom:clamp(3rem,6vw,6rem); }
.hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(2rem,6vw,6rem); align-items:end; margin:2rem 0 0; }
.hero h1 { font-size:clamp(2.25rem,5.8vw,5.75rem); line-height:1.04; letter-spacing:-.04em; max-width:none; overflow-wrap:normal; }
.hero h1 em { color:#b83b0f; }
.hero-summary { max-width:40ch; margin:0 0 .2rem; font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.65; }
.about,.formats,.projects,.involved { padding-top:clamp(3rem,6vw,6rem); padding-bottom:clamp(3rem,6vw,6rem); }
.about { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); }
.about-copy { margin:0; max-width:none; }
.about-description { max-width:64ch; align-self:center; }
.about-description p { font-size:1.0625rem; line-height:1.65; margin:0 0 1rem; }
.about-description p:last-child { margin-bottom:0; }
.section-heading { display:block; }
.section-heading h2,.about h2,footer h2,.direction h2 { font:700 clamp(1.8rem,4vw,3.7rem)/1.13 var(--sans); letter-spacing:-.03em; margin:0; overflow-wrap:normal; }
.about-copy h2 { margin:0; }
.section-heading h2 em,.about h2 em { color:#b83b0f; font-style:normal; }
.formats { border-top:1px solid var(--line); }
.format-list { margin-top:2.5rem; }
.format-row { display:grid; grid-template-columns:3rem minmax(0,.95fr) minmax(0,1.1fr); gap:1.5rem; padding:2rem 0; border-top:1px solid var(--line); }
.format-row:last-child { border-bottom:1px solid var(--line); }
.format-row h3 { font-size:clamp(1.35rem,2.7vw,2rem); line-height:1.2; letter-spacing:-.025em; margin:0; }
.format-description { font-size:1rem; line-height:1.65; margin:0; max-width:58ch; }
.format-status { font:500 .875rem/1.5 var(--mono); letter-spacing:.025em; margin:.85rem 0 0; color:#b83b0f; }
.direction { max-width:none; background:var(--ink); color:var(--cream); padding:clamp(3rem,6vw,6rem) max(5vw,calc((100vw - 1440px)/2 + 5vw)); }
.direction-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.direction h2 em { color:var(--orange); font-style:normal; }
.direction-grid>p { font-size:1.0625rem; line-height:1.65; max-width:53ch; margin:0; }
.project-card { min-height:0; margin-top:2.5rem; padding:1.5rem; }
.project-content { gap:2.5rem; padding:2rem 0; align-items:center; }
.project-main h3 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.12; letter-spacing:-.03em; }
.project-main>p:last-child { font-size:1rem; line-height:1.65; max-width:52ch; margin:1.25rem 0 0; }
.project-label { display:none; }
.project-tags span { font-size:.8125rem; line-height:1.4; white-space:normal; }
.project-media { max-width:36rem; }
.project-gallery .gallery-frame img { position:static; height:auto; width:100%; object-fit:contain; }
.cause-note { margin:1.5rem 0 0; max-width:75ch; font:400 1rem/1.65 var(--sans); letter-spacing:0; }
.cause-note p { margin:0; }
.involved-content { max-width:100%; }
.involved-copy { max-width:64ch; margin:2rem 0 1.5rem; font-size:1.0625rem; line-height:1.65; }
.involved-list { margin-bottom:1.75rem; }
.involved-list span { font-size:.875rem; line-height:1.35; }
.button,.form-submit,.instagram-link,.email-link { font-size:.875rem; line-height:1.4; min-height:2.75rem; }
.button:hover,.instagram-link:hover,.email-link:hover { transform:none; }
footer { padding-top:clamp(3rem,6vw,6rem); padding-bottom:2rem; }
footer h2 { max-width:23ch; }
.contact-form { margin-top:2rem; max-width:46rem; }
.contact-form label { font-size:1rem; line-height:1.5; }
.contact-form input,.contact-form textarea { font:400 1rem/1.5 var(--sans); min-width:0; max-width:100%; }
.contact-actions { margin-top:1.75rem; }
.footer-bottom { flex-wrap:wrap; gap:1rem; }
.reveal { opacity:1; transform:none; transition:none; }
a:focus-visible,button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media (max-width:1100px) {
 .header-actions { margin-left:auto; }
 .menu-toggle { display:block; width:2.75rem; height:2.75rem; padding:.5rem; z-index:3; }
 .menu-toggle.open span:first-child { transform:translateY(3.25px) rotate(45deg); }
 .menu-toggle.open span:last-child { transform:translateY(-3.25px) rotate(-45deg); }
 .nav { position:absolute; top:100%; left:0; right:0; display:flex; flex-direction:column; gap:1rem; padding:1.5rem 5vw; background:var(--cream); border-bottom:1px solid var(--line); visibility:hidden; opacity:0; pointer-events:none; transform:none; }
 .nav.open { visibility:visible; opacity:1; pointer-events:auto; }
}
@media (max-width:800px) {
 .hero-grid,.about,.direction-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
 .hero h1 { font-size:clamp(2.1rem,7.1vw,3.5rem); }
 .hero-summary { max-width:60ch; }
 .format-row { grid-template-columns:2rem minmax(0,1fr); gap:.75rem 1rem; }
 .format-description { grid-column:2; }
 .project-content { display:block; padding:1.5rem 0; }
 .project-media { margin-top:1.5rem; height:auto; }
 .project-card { padding:1rem; }
}
@media (max-width:400px) {
 .hero h1 { font-size:2rem; }
 .format-row { grid-template-columns:1.5rem minmax(0,1fr); gap:.75rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Maintain contrast on the orange contact surface. */
footer h2 em { color:var(--ink); }
.form-status { font-size:.875rem; line-height:1.5; }
