@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#112524;--muted:#566866;--line:#dbe3e1;--mint:#b9f66b;--teal:#04786c;--wash:#f3f7f5;--dark:#102b28;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.13;letter-spacing:-.045em;font-weight:650}h1{font-size:clamp(2.8rem,5.7vw,5.25rem)}h2{font-size:clamp(2.15rem,3.6vw,3.35rem)}h3{font-size:1.35rem;letter-spacing:-.025em}p+p{margin-top:1rem}::selection{background:var(--mint);color:var(--ink)}:focus-visible{outline:3px solid #208bda;outline-offset:5px}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:24px;padding:12px 24px;background:var(--mint);z-index:100}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);z-index:30;backdrop-filter:blur(14px)}.header-inner{height:92px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:40px;height:36px;object-fit:contain}.brand-name{font-family:'Manrope',sans-serif;font-size:1.55rem;font-weight:800;letter-spacing:-.065em;line-height:1.05}.brand-name small{display:block;text-transform:uppercase;letter-spacing:.29em;font-size:.65rem;margin-top:5px;font-weight:600}.nav{display:flex;align-items:center;gap:28px;margin-left:auto}.nav a{font-size:.9rem;font-weight:550;padding:8px 0}.nav a:hover,.nav a[aria-current=page]{color:var(--teal)}.nav-event{display:flex;align-items:center;gap:7px}.nav-event span{background:var(--mint);font-size:.75rem;padding:2px 6px;border-radius:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:13px 24px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;font-size:.95rem;font-weight:550;line-height:1.4;transition:background .18s,transform .18s}.button:hover{background:#21443f;transform:translateY(-2px)}.button.lime{background:var(--mint);border-color:var(--mint);color:var(--ink)}.button.lime:hover{background:#cef996}.button.outline{background:transparent;color:var(--ink);border-color:#b8c7c3}.button.outline:hover{background:var(--wash)}.button.small{min-height:44px;padding:10px 18px;font-size:.875rem}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px}.text-link{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:550}.menu-toggle{display:none;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:6px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;font-weight:650;margin-bottom:22px}.eyebrow:before{content:'';display:block;width:24px;height:2px;background:currentColor}.hero{padding:70px 0 62px}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center}.hero h1 em{font-style:normal;color:var(--teal)}.hero-copy>p{font-size:1.1rem;line-height:1.75;max-width:490px;color:var(--muted);margin-top:28px}.hero-visual{position:relative;min-width:0;padding:0 0 40px 18px}.hero-image{height:510px;width:100%;object-fit:cover;border-radius:90px 18px 18px 18px}.image-note{position:absolute;bottom:9px;left:0;right:30px;background:var(--mint);padding:23px 28px;border-radius:12px;display:flex;justify-content:space-between;gap:20px;align-items:center}.image-note p{font-size:1.15rem;max-width:260px;line-height:1.4;font-weight:550}.image-note .braces{font-family:monospace;font-size:2rem}.hero-caption{margin-top:28px;display:flex;gap:20px;align-items:center;font-size:.85rem;color:var(--muted)}.hero-caption span:first-child{border-right:1px solid var(--line);padding-right:20px}.expertise-strip{border-block:1px solid var(--line);padding:25px 0}.expertise-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.expertise-inner>span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.expertise-inner strong{font-family:'Manrope',sans-serif;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.section{padding:96px 0}.wash{background:var(--wash)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:48px}.section-header h2{max-width:650px}.section-header>p{color:var(--muted);max-width:370px}.section-header .eyebrow{margin-bottom:18px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px;transition:background .2s}.service-card:hover{background:var(--wash)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.service-top span{font-size:.8rem;color:var(--muted)}.service-top svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-card p{font-size:.95rem;color:var(--muted);margin-top:16px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.split-section p{color:var(--muted);margin-top:24px}.split-section .text-link{margin-top:28px}.statement{background:var(--dark);color:white;border-radius:20px;padding:42px}.statement .statement-text{font-family:'Manrope',sans-serif;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.5;letter-spacing:-.025em;margin:0;color:white}.statement .statement-credit{font-size:.85rem;color:#b7cbc6;border-top:1px solid #42605a;padding-top:24px;margin-top:30px}.hackathon-feature{background:var(--dark);color:white}.hackathon-feature .container{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.hackathon-feature h2{font-size:clamp(2.5rem,4.7vw,4.3rem)}.hackathon-feature h2 span{color:var(--mint)}.hackathon-feature p{margin-top:24px;color:#c6d6d2;max-width:540px}.event-ticket{border:1px solid #47635b;border-radius:16px;padding:32px;background:#163631}.ticket-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;color:var(--mint)}.event-ticket h3{font-size:2rem;margin-top:28px}.ticket-meta{margin:26px 0;padding:20px 0;border-top:1px dashed #56716a;border-bottom:1px dashed #56716a;display:flex;gap:30px;color:#c6d6d2;font-size:.875rem}.event-ticket .text-link{color:var(--mint)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-card{border-top:1px solid var(--line);padding-top:24px}.process-card>span{font-size:.875rem;color:var(--teal);display:block;margin-bottom:24px}.process-card p{color:var(--muted);font-size:.95rem;margin-top:16px}.contact-band{background:var(--mint);padding:60px 0}.contact-band .container{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-band h2{font-size:clamp(2rem,3.5vw,3rem);max-width:740px}.site-footer{padding:56px 0 24px}.footer-top{display:grid;grid-template-columns:1.1fr .7fr 1.3fr;gap:70px;padding-bottom:46px}.footer-top p{color:var(--muted);font-size:.9rem;max-width:360px;margin-top:18px}.footer-top h3{font-size:.9rem;letter-spacing:0;margin-bottom:16px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.9rem}.footer-links a:hover{color:var(--teal)}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:.8rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.page-hero{padding:76px 0}.page-hero h1{max-width:900px}.page-hero p{max-width:680px;font-size:1.15rem;color:var(--muted);margin-top:24px}.dark{background:var(--dark);color:white}.dark .eyebrow{color:var(--mint)}.dark p{color:#c6d6d2}.hack-hero{padding:70px 0 60px}.hack-hero .hero-grid{gap:70px;grid-template-columns:1.2fr .8fr}.hack-hero h1{font-size:clamp(3rem,5.9vw,5.5rem)}.hack-hero h1 span{color:var(--mint)}.hack-hero .outline{color:#fff;border-color:#7a958d}.hack-hero .outline:hover{background:#24483e}.hack-hero .event-ticket{margin-top:18px}.hack-hero .hero-copy>p{color:#c6d6d2}.event-status{background:#254a40;color:#d3efb3;padding:6px 12px;border-radius:5px;font-size:.8rem;display:inline-block;margin-top:18px}.event-detail-list{padding:0;margin:28px 0;list-style:none}.event-detail-list li{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #426156;padding:12px 0;font-size:.9rem}.event-detail-list li span{color:#bbd0c8}.event-detail-list li strong{font-weight:500}.hack-links{display:flex;gap:38px;flex-wrap:wrap;padding:22px 0;font-size:.9rem;font-weight:550}.anchor-nav{border-bottom:1px solid var(--line)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.feature-card{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:30px}.feature-card>span{display:inline-block;font-size:.875rem;color:var(--teal);margin-bottom:28px}.feature-card p{color:var(--muted);margin-top:16px}.form-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.form-intro p{color:var(--muted);margin-top:24px;max-width:420px}.form-note{margin-top:32px;padding:22px;border-left:3px solid var(--teal);background:var(--wash);font-size:.9rem}.form-note strong{display:block;margin-bottom:6px}.form-card{border:1px solid var(--line);border-radius:16px;padding:36px;background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.875rem;font-weight:550}.optional{font-weight:400;color:var(--muted)}.field input,.field textarea,.field select{width:100%;border:1px solid #bfccc8;background:#fff;border-radius:6px;padding:12px 14px;min-height:48px;color:var(--ink)}.field textarea{resize:vertical;min-height:110px}.field input::placeholder,.field textarea::placeholder{color:#73837d}.consent{display:flex;align-items:flex-start;gap:11px;font-size:.875rem;color:var(--muted);margin:22px 0}.consent input{width:18px;height:18px;accent-color:var(--teal);flex-shrink:0;margin-top:4px}.consent a{text-decoration:underline}.form-card .button{width:100%}.form-status{font-size:.9rem;margin-top:18px;border-radius:6px;white-space:pre-line}.form-status:not(:empty){padding:14px;background:#eef9e4;color:#244825}.form-status[data-state=error]{background:#fff0ec;color:#8b3026}.form-status a{text-decoration:underline}.button:disabled{opacity:.65;cursor:wait;transform:none}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.collab-options{list-style:none;padding:0;margin:28px 0 0}.collab-options li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;font-size:.95rem}.collab-options span{color:var(--teal)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{padding:23px 32px 23px 0;font-weight:550;cursor:pointer;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;font-size:1.25rem}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 24px 24px 0;color:var(--muted);font-size:.95rem}.prose{max-width:800px;margin-inline:auto}.prose h2{font-size:1.65rem;margin:38px 0 16px}.prose h3{font-size:1.15rem;margin:24px 0 12px}.prose p,.prose li{color:var(--muted)}.prose a{text-decoration:underline;color:var(--teal)}.about-photo{width:100%;height:480px;object-fit:cover;border-radius:18px}.work-list{display:grid;gap:24px}.work-row{display:grid;grid-template-columns:.5fr 1.5fr 1fr;gap:32px;align-items:start;padding:32px;border:1px solid var(--line);border-radius:12px}.work-row>span{font-size:.8rem;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}.work-row p{color:var(--muted);margin-top:16px}.work-tags{display:flex;gap:8px;flex-wrap:wrap}.work-tags span{font-size:.8rem;border:1px solid var(--line);padding:5px 10px;border-radius:5px}.noscript{padding:14px;background:#fff4d4;text-align:center}.fine-print{font-size:.875rem;color:var(--muted);margin-top:16px}.fine-print a{text-decoration:underline}
@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:82px}.hero-image{height:560px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{gap:20px}.nav{gap:18px}.hero-grid{gap:34px}.hero-image{height:470px}.hero h1{font-size:4.3rem}.hack-hero h1{font-size:4rem}.split-section,.hackathon-feature .container,.form-layout,.faq-layout{gap:45px}.service-card{padding:26px}.footer-top{gap:40px}}
@media(max-width:880px){.header-inner{height:78px}.menu-toggle{display:block;margin-left:auto}.header-inner>.button{display:none}.nav{display:none;position:absolute;left:auto;right:32px;top:78px;width:280px;max-width:calc(100% - 64px);max-height:calc(100dvh - 96px);overflow-y:auto;background:white;padding:12px;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 20px #102b280c;align-items:stretch;flex-direction:column;gap:4px}.nav[data-open=true]{display:flex}.nav a{padding:12px 14px}.hero h1{font-size:3.5rem}.hero-image{height:400px}.hero-visual{padding-left:0}.image-note{right:15px;padding:20px}.image-note p{font-size:1rem}.services-grid{grid-template-columns:repeat(2,1fr)}.section{padding:72px 0}.section-header{gap:30px}.section-header>p{max-width:270px}.process-grid{grid-template-columns:repeat(2,1fr);gap:36px}.hackathon-feature .container,.hack-hero .hero-grid{grid-template-columns:1fr 1fr;gap:36px}.event-ticket{padding:24px}.event-ticket h3{font-size:1.6rem}.hack-hero h1{font-size:3.5rem}.ticket-meta{gap:16px}.feature-grid{gap:16px}.feature-card{padding:23px}.form-layout{grid-template-columns:1fr;gap:36px}.form-intro{max-width:700px}.form-intro p{max-width:600px}.form-note{max-width:600px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:1/-1}.contact-band .container{align-items:flex-start}.work-row{grid-template-columns:1fr 3fr}.work-tags{grid-column:2}.faq-layout{grid-template-columns:1fr;gap:36px}}
@media(max-width:620px){.container{width:calc(100% - 40px)}.nav{right:20px;max-width:calc(100% - 40px)}.hero{padding:44px 0}.hero-grid,.hack-hero .hero-grid,.split-section,.hackathon-feature .container{grid-template-columns:1fr;gap:40px}.hero h1,.hack-hero h1{font-size:clamp(2.8rem,11.7vw,4rem)}.hero-copy>p{font-size:1rem;margin-top:22px}.hero-visual{padding-bottom:36px}.hero-image{height:330px;border-radius:58px 12px 12px 12px;object-position:50% 39%}.image-note{left:14px;right:14px;padding:20px}.image-note p{max-width:none;font-size:1rem}.hero-caption{font-size:.8rem;gap:14px}.hero-caption span:first-child{padding-right:14px}.actions{gap:12px;margin-top:26px}.button{padding:13px 18px;gap:16px}.expertise-inner{justify-content:flex-start;gap:14px 24px}.expertise-inner>span{width:100%}.expertise-inner strong{font-size:.9rem}.section{padding:58px 0}.section-header{display:block;margin-bottom:30px}.section-header>p{max-width:100%;margin-top:22px}.services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:26px}.service-top{margin-bottom:24px}.statement{padding:30px}.hackathon-feature h2{font-size:2.7rem}.event-ticket{padding:26px}.process-grid{gap:28px}.process-card h3{font-size:1.15rem}.process-card p{font-size:.9rem}.contact-band{padding:44px 0}.contact-band .container{display:block}.contact-band .button{margin-top:26px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:14px}.footer-bottom>div{gap:18px;flex-wrap:wrap}.site-footer{padding-top:40px}.page-hero,.hack-hero{padding:46px 0}.page-hero h1{font-size:2.9rem}.page-hero p{font-size:1rem}.hack-links{gap:18px;font-size:.875rem}.feature-grid{grid-template-columns:1fr}.feature-card>span{margin-bottom:18px}.form-card{padding:24px}.form-grid{grid-template-columns:1fr;gap:19px}.form-layout{gap:30px}.work-row{grid-template-columns:1fr;gap:16px;padding:26px}.work-tags{grid-column:1}.about-photo{height:330px}.event-detail-list li{font-size:.875rem}.eyebrow{font-size:.8rem;letter-spacing:.09em}.brand-name{font-size:1.4rem}.brand img{width:36px;height:34px}}
.nav .mobile-contact{display:none}
.faq-list p a{text-decoration:underline;text-underline-offset:3px;color:var(--teal)}.company-faq-note{margin-top:26px;color:var(--muted);font-size:.95rem}.company-faq-note .text-link{margin-top:12px;font-size:.9rem}
.past-hackathons{background:var(--wash)}.past-campus-links{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}.past-campus-links a{display:inline-flex;align-items:center;gap:30px;padding:10px 18px;border:1px solid #bfcfc8;border-radius:6px;background:white;font-size:.9rem;font-weight:550}.past-campus-links a:hover{background:var(--mint);border-color:var(--mint)}.past-event-list{display:grid;gap:36px}.past-event{padding:36px;background:#fff;border:1px solid var(--line);border-radius:18px;scroll-margin-top:112px}.past-event-heading{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:28px}.past-event-heading h3{font-size:clamp(1.65rem,2.3vw,2.2rem);line-height:1.25;max-width:500px}.past-event-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.875rem;color:var(--muted);margin-bottom:20px}.past-event-status{color:#285623;background:#e6f5d9;border-radius:5px;padding:4px 10px;font-weight:550}.past-event-location{color:var(--muted);font-size:.875rem;margin-top:10px}.past-event-name{font-size:.95rem;font-weight:550;margin-top:12px}.past-event-summary>p{color:var(--muted);font-size:1rem}.past-event-summary ul{padding-left:20px;margin:18px 0 0;font-size:.9rem}.past-event-summary li+li{margin-top:6px}.past-event-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.past-event-gallery figure{margin:0;min-width:0}.past-event-gallery a{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#eaf0ed;border-radius:9px;overflow:hidden}.past-event-gallery img{width:100%;height:100%;object-fit:contain;transition:opacity .18s}.past-event-gallery a:hover img{opacity:.9}.past-event-gallery figcaption{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:10px}.past-event-footer{border-top:1px solid var(--line);padding-top:22px;margin-top:26px;display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.past-event-footer p{font-size:.875rem;max-width:580px;color:var(--muted)}.past-event-footer .text-link{font-size:.875rem;flex-shrink:0;color:var(--teal)}.past-photo-credit{font-size:.875rem;color:var(--muted);margin-top:24px}
@media(max-width:880px){.past-event{padding:28px}.past-event-heading{gap:28px}.past-event-footer{flex-direction:column;gap:18px}.past-event-gallery{gap:16px}}
@media(max-width:620px){.past-event{padding:22px}.past-event-heading{grid-template-columns:1fr;gap:22px}.past-event-gallery{grid-template-columns:1fr;gap:22px}.past-event-gallery a{aspect-ratio:auto}.past-event-gallery img{height:auto}.past-event-meta{font-size:.875rem;gap:10px}.past-campus-links a{gap:18px;padding:10px 14px}.past-event-footer .text-link{font-size:.875rem;flex-shrink:1}.past-event-list{gap:26px}}
@media(max-width:800px){.hero-grid,.hack-hero .hero-grid{grid-template-columns:1fr}.hero-visual{width:100%;max-width:600px;margin-inline:auto}.hack-hero .event-ticket{max-width:600px;width:100%}}
@media(max-width:880px){.nav .mobile-contact{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Pastel palette: soft surfaces with the existing dark text and buttons. */
:root {
  --mint: #c6e7d8;
  --muted: #526462;
  --teal: #146e62;
  --wash: #f3f6fb;
  --line: #d8e1e2;
  --pastel-mint: #def2e9;
  --pastel-lilac: #eee9f8;
  --pastel-peach: #fbe7dc;
  --pastel-blue: #e5eff9;
  --paper: #fffdfb;
  background: var(--paper);
}
.site-header { background: rgba(255, 253, 251, .96); }
.hero { background: linear-gradient(115deg, #edf8f2, #f6f2fb 62%, #edf4fb); }
.page-hero:not(.dark), .expertise-strip, .anchor-nav { background: var(--pastel-blue); }
.button.lime:hover { background: #d9eee3; }
.services-grid { background: white; }
.service-card:nth-child(6n + 1), .feature-card:nth-child(3n + 1) { background: var(--pastel-mint); }
.service-card:nth-child(6n + 2), .feature-card:nth-child(3n + 2) { background: var(--pastel-lilac); }
.service-card:nth-child(6n + 3), .feature-card:nth-child(3n + 3) { background: var(--pastel-blue); }
.service-card:nth-child(6n + 4) { background: var(--pastel-peach); }
.service-card:nth-child(6n + 5) { background: var(--pastel-blue); }
.service-card:nth-child(6n + 6) { background: var(--pastel-mint); }
.service-card:hover { box-shadow: inset 0 0 0 1px #b8ceca; }
.statement { background: var(--pastel-lilac); color: var(--ink); }
.statement .statement-text { color: var(--ink); }
.statement .statement-credit { color: var(--muted); border-color: #d2c9e4; }
.contact-band { background: var(--pastel-peach); }
.form-note { background: var(--pastel-mint); }
section#faq { background: var(--pastel-lilac); }
.past-campus-links a:nth-child(3n + 1) { background: var(--pastel-mint); }
.past-campus-links a:nth-child(3n + 2) { background: var(--pastel-lilac); }
.past-campus-links a:nth-child(3n + 3) { background: var(--pastel-peach); }
.past-campus-links a:hover { background: var(--mint); }
.past-event-status { background: var(--pastel-mint); color: #24594b; }
.past-event-gallery a { background: var(--wash); }
.work-tags span { background: var(--pastel-blue); }
.site-footer { background: var(--paper); }

/* Project highlights and the About page leadership cards. */
.our-work-page .work-intro { background: linear-gradient(115deg, var(--pastel-blue), #f3eefb 70%, var(--pastel-mint)); }
.our-work-page .work-intro h1 { max-width: 1040px; }
.our-work-page .work-intro p { max-width: 710px; }
.our-work-page .work-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.our-work-page .work-project-card { display: flex; flex-direction: column; padding: 36px; border: 1px solid var(--line); border-radius: 16px; }
.our-work-page .work-project-banking { background: var(--pastel-mint); }
.our-work-page .work-project-ai { background: var(--pastel-lilac); }
.our-work-page .work-card-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; font-size: .875rem; color: var(--muted); }
.our-work-page .work-status { border: 1px solid #a7bab3; border-radius: 5px; padding: 4px 9px; color: var(--ink); background: #ffffff70; }
.our-work-page .work-project-card h3 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); line-height: 1.2; }
.our-work-page .work-project-card > p { margin: 24px 0 34px; color: var(--muted); max-width: 480px; }
.our-work-page .work-project-foot { display: grid; gap: 7px; border-top: 1px solid #bfcfc8; padding-top: 22px; margin-top: auto; }
.our-work-page .work-project-foot > span { font-size: .875rem; color: var(--muted); }
.our-work-page .work-project-foot strong { font-weight: 550; }
.our-work-page .work-project-water { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 48px; background: var(--pastel-blue); }
.our-work-page .work-project-water .work-card-meta { grid-column: 1 / -1; margin-bottom: 0; }
.our-work-page .work-project-details > p { margin-bottom: 26px; color: var(--muted); }
.our-work-page .work-campus { background: var(--wash); }
.our-work-page .work-campus-grid, .about-page .work-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.our-work-page .work-campus-card { display: flex; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; min-width: 0; }
.our-work-page .work-campus-card > img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.our-work-page .work-campus-copy { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 26px; }
.our-work-page .work-campus-copy time { font-size: .875rem; color: var(--teal); margin-bottom: 16px; }
.our-work-page .work-campus-copy h3 { font-size: 1.3rem; line-height: 1.35; }
.our-work-page .work-campus-copy p { margin: 20px 0 26px; color: var(--muted); }
.our-work-page .work-campus-copy .text-link { margin-top: auto; font-size: .875rem; }
.our-work-page .work-all-events { margin-top: 32px; }
.about-page .work-team-card { display: flex; flex-direction: column; align-items: flex-start; border-top: 2px solid var(--teal); padding: 28px 26px; background: var(--pastel-blue); border-radius: 0 0 12px 12px; }
.about-page .work-team-card:nth-child(2) { background: var(--pastel-peach); }
.about-page .work-team-card:nth-child(3) { background: var(--pastel-lilac); }
.about-page .work-team-role { font-size: .875rem; color: var(--muted); margin-bottom: 22px; }
.about-page .work-team-card h3 { font-size: 1.6rem; line-height: 1.25; }
.about-page .work-team-card p { margin: 20px 0 28px; color: var(--muted); }
.about-page .work-team-card .text-link { margin-top: auto; font-size: .875rem; }
.our-work-page .work-sr-only, .about-page .work-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 880px) {
  .our-work-page .work-project-card { padding: 28px; }
  .our-work-page .work-campus-grid, .about-page .work-team-grid { grid-template-columns: 1fr; }
  .our-work-page .work-campus-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .our-work-page .work-campus-card > img { height: 100%; min-height: 260px; }
}
@media (max-width: 620px) {
  .our-work-page .work-project-grid { grid-template-columns: 1fr; gap: 22px; }
  .our-work-page .work-project-card { padding: 26px; }
  .our-work-page .work-card-meta { margin-bottom: 26px; }
  .our-work-page .work-project-water { display: flex; gap: 0; }
  .our-work-page .work-project-water .work-card-meta { margin-bottom: 26px; }
  .our-work-page .work-project-water h3 { margin-bottom: 24px; }
  .our-work-page .work-campus-card { display: flex; }
  .our-work-page .work-campus-card > img { height: auto; min-height: 0; }
  .our-work-page .work-campus-copy { padding: 24px; }
  .about-page .work-team-card { padding: 26px; }
}

/* About Poiema: the company story, purpose and leadership. */
.about-page .page-hero { background: linear-gradient(115deg, var(--pastel-blue), var(--pastel-lilac)); }
.about-page .page-hero p { max-width: 850px; }
.about-page .about-story { max-width: 880px; }
.about-page .about-story h2 { margin-bottom: 28px; }
.about-page .about-story p { color: var(--muted); line-height: 1.85; }
.about-page .about-story p + p { margin-top: 24px; }
.about-page .about-purpose { background: var(--wash); }
.about-page .about-purpose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.about-page .about-purpose article { padding: 36px; border-radius: 16px; background: var(--pastel-mint); }
.about-page .about-purpose article:nth-child(2) { background: var(--pastel-lilac); }
.about-page .about-purpose h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.about-page .about-purpose p { margin-top: 24px; color: var(--muted); }
.about-page .about-belief { padding: 28px; border-left: 3px solid var(--teal); background: var(--pastel-mint); border-radius: 0 12px 12px 0; }
.about-page .work-team { background: var(--wash); }
@media (max-width: 620px) {
  .about-page .about-purpose-grid { grid-template-columns: 1fr; }
  .about-page .about-purpose article { padding: 26px; }
  .about-page .about-belief { padding: 24px; }
}

/* The name Poiema connects the company story to workmanship. */
.about-page .about-origin { background: linear-gradient(120deg, #edf8f2, #f3effa 65%, #e5eff9); }
.about-page .about-origin-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }
.about-page .about-origin-copy { min-width: 0; }
.about-page .about-origin h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); }
.about-page .about-origin h1 span { color: var(--teal); }
.about-page .about-origin-copy > p { max-width: 510px; }
.about-page .about-origin-copy > .text-link { margin-top: 30px; }
.about-page .about-name-card { padding: 38px; border: 1px solid #34574f; border-radius: 72px 16px 16px 16px; color: #fffdfb; background: var(--dark); box-shadow: 12px 12px 0 #c6e7d8; min-width: 0; }
.about-page .about-name-label { font-size: .875rem; letter-spacing: .08em; color: #c6e7d8; }
.about-page .about-greek { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.1rem, 5.6vw, 5.1rem); line-height: 1.35; margin-top: 22px; color: #def2e9; }
.about-page .about-name-card h2 { font-size: 1.2rem; letter-spacing: .06em; font-weight: 500; margin-top: 4px; }
.about-page .about-name-card .about-definition { font-size: 1.5rem; line-height: 1.5; color: #fffdfb; margin-top: 26px; }
.about-page .about-name-card .about-name-context { border-top: 1px solid #527268; padding-top: 22px; margin-top: 26px; font-size: 1rem; color: #d0e1db; }
.about-page .about-name-context a { text-decoration: underline; text-underline-offset: 3px; }
.about-page .about-word-source { display: inline-flex; gap: 12px; margin-top: 22px; font-size: .875rem; color: #c6e7d8; text-decoration: underline; text-underline-offset: 4px; }
.about-page .about-story-divider { height: 1px; background: var(--line); margin: 44px 0; }
@media (max-width: 1000px) {
  .about-page .about-origin-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .about-page .about-origin h1 { font-size: clamp(2.6rem, 4.5vw, 3.5rem); }
  .about-page .about-name-card { padding: 30px; }
}
@media (max-width: 800px) {
  .about-page .about-origin-grid { grid-template-columns: 1fr; gap: 40px; }
  .about-page .about-origin-copy > p { max-width: 630px; }
  .about-page .about-name-card { width: 100%; max-width: 560px; margin-bottom: 12px; box-shadow: 8px 8px 0 #c6e7d8; }
  .about-page .about-greek { font-size: clamp(3rem, 12vw, 4.5rem); }
}
@media (max-width: 620px) {
  .about-page .about-name-card { width: calc(100% - 8px); padding: 30px 26px; border-top-left-radius: 52px; }
  .about-page .about-origin h1 { font-size: clamp(2.35rem, 9.3vw, 3.5rem); }
}

/* Compact story and foundation, with clear reading groups. */
.about-page .section { padding: 54px 0; }
.about-page .about-origin { padding: 48px 0; }
.about-page .about-origin-grid { gap: 36px; }
.about-page .about-name-card { padding: 28px; border-radius: 40px 12px 12px 12px; box-shadow: 6px 6px 0 #c6e7d8; }
.about-page .about-greek { font-size: clamp(2.8rem, 4.7vw, 4rem); margin-top: 10px; }
.about-page .about-name-card .about-definition { font-size: 1.125rem; margin-top: 16px; }
.about-page .about-name-card .about-name-context { padding-top: 16px; margin-top: 16px; }
.about-page .about-word-source { margin-top: 16px; }
.about-page .about-story-intro { display: grid; grid-template-columns: .65fr 1.35fr; gap: 36px; align-items: start; }
.about-page .about-story-intro p, .about-page .about-foundation p { color: var(--muted); line-height: 1.7; }
.about-page .about-foundation { border-top: 1px solid var(--line); padding-top: 32px; margin-top: 32px; }
.about-page .about-foundation h2 { font-size: clamp(1.9rem, 3vw, 2.6rem); }
.about-page .about-foundation-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 28px; margin-top: 26px; }
.about-page .about-foundation-grid article { min-width: 0; }
.about-page .about-foundation-grid h3 { font-size: 1.2rem; margin-bottom: 14px; }
.about-page .about-foundation blockquote { margin: 18px 0 0; padding: 18px; background: var(--pastel-mint); border-left: 3px solid var(--teal); border-radius: 0 8px 8px 0; font-size: 1rem; line-height: 1.65; }
.about-page .about-foundation cite { display: block; margin-top: 8px; font-size: .875rem; font-style: normal; color: var(--muted); }
@media (max-width: 880px) {
  .about-page .about-foundation-grid { grid-template-columns: 1fr 1fr; }
  .about-page .about-foundation-grid article:first-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .about-page .section, .about-page .about-origin { padding: 36px 0; }
  .about-page .about-origin-grid { gap: 24px; }
  .about-page .about-name-card { padding: 24px; margin-bottom: 6px; }
  .about-page .about-story-intro, .about-page .about-foundation-grid { grid-template-columns: 1fr; gap: 22px; }
  .about-page .about-story-intro h2 { font-size: 2rem; }
  .about-page .about-foundation { padding-top: 26px; margin-top: 26px; }
}
.hack-hero .hero-copy > .hack-brand-essence { margin-top: 22px; color: var(--mint); font-family: 'Manrope', sans-serif; font-size: 1.2rem; font-weight: 650; letter-spacing: -.02em; }
.hack-hero .hero-copy > .hack-brand-essence + p { margin-top: 10px; }
.hack-hero .hack-traits { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.hack-hero .hack-traits span { display: inline-flex; border: 1px solid #526d63; border-radius: 99px; padding: 5px 11px; color: #d8e7df; font-size: .78rem; }
.hack-journey { background: #fffdfb; }
.hack-journey .feature-card { background: var(--pastel-blue); }
.hack-journey .feature-card:nth-child(2) { background: var(--pastel-mint); }
.hack-journey .feature-card:nth-child(3) { background: var(--pastel-lilac); }
.hack-journey .feature-card > span { margin-bottom: 22px; }
.hack-method { display: flex; align-items: baseline; gap: 18px; padding: 18px 0; margin-top: 14px; border-bottom: 1px solid var(--line); }
.hack-method > span { flex: 0 0 auto; color: var(--teal); font-size: .8rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.hack-method p { color: var(--muted); font-size: .9rem; line-height: 1.8; }
.hack-method i { padding: 0 5px; color: var(--teal); font-style: normal; }
.hack-proof { margin-top: 42px; padding: 23px 26px; border: 1px solid var(--line); border-radius: 10px; background: var(--wash); }
.hack-proof > span { display: block; margin-bottom: 8px; color: var(--teal); font-size: .8rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.hack-proof p { color: var(--muted); font-size: .9rem; line-height: 1.8; }
.hack-proof i { padding: 0 5px; color: var(--teal); font-style: normal; }
@media (max-width: 620px) {
  .hack-hero .hero-copy > .hack-brand-essence { font-size: 1.1rem; }
  .hack-hero .hack-traits { gap: 7px; margin-top: 20px; }
  .hack-method { display: block; }
  .hack-method p { margin-top: 7px; }
  .hack-proof { margin-top: 30px; padding: 20px; }
  .hack-proof i { padding: 0 2px; }
}
