@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--ink:#090a0c;--soft:#f5f3ef;--paper:#fffdfa;--line:#ddd9d1;--muted:#6f706f;--gold:#c79b45;--blue:#4867a8;--dark:#111317}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font-family:Manrope,Arial,sans-serif}.site-header{height:76px;background:rgba(255,253,250,.95);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 7vw;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);font-weight:700}.brand img{width:52px;height:42px;object-fit:contain}.brand span{font-size:.72rem;text-transform:uppercase;letter-spacing:1.4px;border-left:1px solid var(--line);padding-left:15px}nav{display:flex;gap:28px}nav a{text-decoration:none;color:#454545;font-size:.78rem;font-weight:700}nav a:hover{color:var(--gold)}.hero{min-height:650px;background:linear-gradient(135deg,#111318 0%,#181c23 62%,#0c0d10 100%);color:white;padding:95px 8vw;display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:680px;height:680px;border:1px solid rgba(199,155,69,.25);border-radius:50%;right:-300px;top:-240px}.kicker,.section-label{font:500 .7rem 'DM Mono',monospace;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.hero .kicker{color:#d7b66f}.hero h1{font-size:clamp(3.5rem,6.8vw,7rem);line-height:.98;letter-spacing:-.065em;margin:0 0 24px;max-width:900px}.hero h1 em,.campaign-heading h2 em,.work-header h2 em,.university-heading h2 em,.final h2 em{font-family:'Playfair Display',serif;font-weight:600}.hero-text{font-size:1.05rem;line-height:1.85;color:#c9cbd0;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:14px;text-decoration:none;padding:15px 22px;border-radius:5px;font-size:.78rem;font-weight:800;transition:.2s}.button.primary{background:var(--gold);color:#111}.button.primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(199,155,69,.18)}.button.secondary{border:1px solid rgba(255,255,255,.3);color:white}.role-card{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);padding:34px;position:relative;z-index:1}.card-label{font:500 .65rem 'DM Mono';letter-spacing:1.5px;color:#d7b66f}.role-card h2{font-size:2rem;line-height:1.1;letter-spacing:-.045em;margin:18px 0}.role-card p{font-size:.88rem;line-height:1.8;color:#c9cbd0}.role-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.role-tags span{border:1px solid rgba(255,255,255,.2);padding:7px 9px;font-size:.64rem;text-transform:uppercase;letter-spacing:.5px;color:#eee}.section{padding:105px 8vw}.overview{background:var(--paper)}.overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.overview h2,.work-header h2,.university-heading h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1;letter-spacing:-.065em;margin:0}.large-copy{font-size:1.28rem;line-height:1.65;max-width:720px}.body-copy{padding-top:12px}.body-copy p{line-height:1.9;color:#5d5e5d}.contribution-bar{margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.contribution-bar div{padding:25px 24px;border-right:1px solid var(--line)}.contribution-bar div:last-child{border-right:0}.contribution-bar span{display:block;font:500 .61rem 'DM Mono';letter-spacing:1.2px;color:var(--gold);margin-bottom:8px}.contribution-bar strong{font-size:.84rem}.campaign-intro{background:var(--dark);color:white}.section-label.light{color:#bdbfc4}.campaign-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end}.campaign-heading .gold{color:#d7b66f}.campaign-heading h2{font-size:clamp(3rem,5.7vw,6rem);line-height:.96;letter-spacing:-.065em;margin:0}.campaign-heading>p{line-height:1.9;color:#b9bdc4;max-width:570px}.stats{margin-top:65px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #363940}.stats div{padding:28px 20px 10px;border-right:1px solid #363940}.stats div:first-child{padding-left:0}.stats b{display:block;font-size:2.5rem;color:#d7b66f;letter-spacing:-.05em}.stats span{font-size:.7rem;text-transform:uppercase;letter-spacing:.7px;color:#aeb2b9}.work{background:var(--paper)}.work-header{display:flex;justify-content:space-between;gap:6vw;align-items:end;margin-bottom:35px}.work-header h2{max-width:800px}.how-to{max-width:390px;border-left:3px solid var(--gold);padding-left:17px;font-size:.76rem;line-height:1.7;color:#666}.how-to strong{display:block;color:#222;margin-bottom:5px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:35px 0 48px}.filter{background:#f3f0eb;border:1px solid var(--line);padding:11px 14px;font:600 .7rem Manrope;cursor:pointer;border-radius:999px;color:#666}.filter.active,.filter:hover{background:#17191d;color:#fff;border-color:#17191d}.phase{padding:42px 0 62px;border-top:1px solid var(--line)}.phase-meta{display:flex;gap:20px;align-items:flex-start;margin-bottom:26px}.phase-number{font:500 .7rem 'DM Mono';color:var(--gold);padding-top:7px}.phase-title h3{font-size:1.8rem;letter-spacing:-.04em;margin:0}.phase-title p{font-size:.8rem;color:var(--muted);margin:5px 0 0}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.content-card{border:1px solid var(--line);background:white;overflow:hidden;display:flex;flex-direction:column;min-width:0}.card-preview{height:315px;background:#f1efeb;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-preview iframe{width:100%;height:100%;border:0;background:white}.preview-placeholder{padding:24px;text-align:center;color:#555}.preview-placeholder span{display:block;font-size:2rem;margin-bottom:10px}.card-info{padding:18px}.content-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.type-badge{font:500 .58rem 'DM Mono';letter-spacing:1px;padding:6px 8px;background:#f2efe9;color:#555;text-transform:uppercase}.open-icon{font-size:.9rem;color:var(--gold)}.content-card h4{font-size:.95rem;margin:0 0 7px}.content-card .purpose{font-size:.72rem;line-height:1.55;color:#777;min-height:35px;margin:0}.card-actions{display:flex;gap:8px;margin-top:16px}.card-actions button,.card-actions a{flex:1;text-align:center;text-decoration:none;padding:10px 8px;font:700 .65rem Manrope;border:1px solid var(--line);background:#fff;color:#333;cursor:pointer}.card-actions a{background:#17191d;color:white;border-color:#17191d}.content-card.is-hidden{display:none}.universities{background:#ece9e3}.university-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:60px}.university-heading p{line-height:1.9;color:#626363}.university-case{border-top:1px solid #c7c2ba;padding:55px 0}.university-case-head{display:grid;grid-template-columns:1fr .7fr;gap:7vw;margin-bottom:32px}.university-tag{font:500 .65rem 'DM Mono';letter-spacing:1.2px;color:#80602a}.university-case h3{font-size:clamp(2.5rem,4vw,4.4rem);letter-spacing:-.06em;margin:12px 0}.university-case-head p{line-height:1.8;color:#5e5f5f}.contribution-list{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.contribution-list span{padding:8px 10px;border:1px solid #c7c2ba;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.university-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.university-card{background:#f8f6f2;border:1px solid #d4d0c8;padding:18px}.university-card .mini-preview{height:240px;background:#e8e5df;position:relative;overflow:hidden;margin-bottom:15px}.mini-preview iframe{width:100%;height:100%;border:0}.university-card h4{margin:0 0 6px;font-size:.9rem}.university-card p{font-size:.7rem;color:#777;margin:0 0 14px}.open-original{display:inline-block;text-decoration:none;color:#222;border-bottom:1px solid var(--gold);padding-bottom:3px;font-size:.68rem;font-weight:800}.final{text-align:center;background:#111317;color:white;padding-top:120px;padding-bottom:120px}.final img{width:95px;height:72px;object-fit:contain;filter:invert(1);margin-bottom:18px}.final .kicker{color:#d7b66f}.final h2{font-size:clamp(3rem,6vw,6rem);line-height:1;letter-spacing:-.065em;margin:0 0 38px}footer{background:#090a0c;color:#777;text-align:center;padding:25px;font-size:.7rem;letter-spacing:.4px}@media(max-width:900px){.hero,.overview-grid,.campaign-heading,.university-heading,.university-case-head{grid-template-columns:1fr;gap:35px}.hero{padding-top:80px}.content-grid,.university-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-header{display:block}.how-to{margin-top:28px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border-right:0}.contribution-bar{grid-template-columns:1fr}.contribution-bar div{border-right:0;border-bottom:1px solid var(--line)}.contribution-bar div:last-child{border-bottom:0}}@media(max-width:620px){.site-header{padding:0 5vw}.brand span,nav{display:none}.hero,.section{padding-left:6vw;padding-right:6vw}.hero h1{font-size:3.4rem}.content-grid,.university-grid{grid-template-columns:1fr}.card-preview{height:390px}.university-card .mini-preview{height:350px}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid #363940}.stats div:last-child{border-bottom:0}.stats div:first-child{padding-left:0}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.filter{white-space:nowrap}.campaign-heading h2{font-size:3.2rem}}
.card-preview .preview-placeholder{display:none}.card-preview iframe[style*="display: none"] + .preview-placeholder{display:block}
/* Shorter introduction: get visitors to the work faster */
.compact-hero{min-height:420px;padding-top:70px;padding-bottom:70px}
.compact-hero .hero-copy{max-width:780px}
.compact-hero h1{font-size:clamp(3.2rem,6vw,6rem)}
.compact-role{padding:26px 30px}
.compact-role h2{font-size:1.55rem;margin:14px 0}
.compact-intro .section{padding-top:60px;padding-bottom:60px}
.compact-intro .campaign-heading{align-items:center}
.compact-intro .campaign-heading h2{font-size:clamp(3rem,5vw,5rem)}
@media(max-width:900px){.compact-hero{min-height:auto}.compact-role{max-width:620px}.compact-intro .section{padding-top:50px;padding-bottom:50px}}
