@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#222135;--muted:#66647b;--cream:#f9f7f4;--lavender:#eeeafe;--blue:#30247d;--orange:#f8a775;--line:#e5e1e5;--paper:#fff;--max:1060px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:#3828a4;text-underline-offset:3px}a:hover{color:#9c4e64}h1,h2,h3,.brand{font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:-.04em;line-height:1.13}h1{font-size:clamp(2.5rem,6vw,4.9rem);margin:0 0 18px}h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 20px}h3{font-size:1.24rem}p{margin-top:0}.wrapper{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{background:rgba(255,255,255,.93);border-bottom:1px solid var(--line)}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:13px 0}.brand{font-size:1.22rem;font-weight:700;color:var(--blue);text-decoration:none}.nav{display:flex;flex-wrap:wrap;gap:6px}.nav a{font-weight:700;color:#514c63;text-decoration:none;font-size:.91rem;border-radius:100px;padding:8px 13px}.nav a:hover,.nav a[aria-current=page]{background:#ece8ff;color:#342182}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;margin-top:75px;background:#fff}.site-footer .wrapper{padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#7860a4;margin-bottom:18px}.page-intro{padding:65px 0 34px;max-width:850px}.page-intro p,.lede{font-size:1.15rem;color:var(--muted);max-width:680px}.hero{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:7%;min-height:590px;padding:55px 0}.hero h1 span{color:#7350b3}.hero-text{max-width:550px}.hero-text p{max-width:475px;color:var(--muted);font-size:1.16rem}.hero-image-wrap{position:relative;isolation:isolate;margin:0}.hero-image-wrap:before{content:'';position:absolute;inset:15px -17px -15px 17px;background:var(--orange);border-radius:34px;transform:rotate(5deg);z-index:-1}.hero-image{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:28px;border:9px solid #fff;box-shadow:0 18px 58px #25205c24}.button-link{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;border-radius:999px;padding:12px 22px;font-weight:700;margin-top:20px}.button-link:hover{background:#5542c0;color:#fff}.mini-note{font-size:.86rem;color:var(--muted);margin-top:20px}.panel{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,4vw,38px);border-radius:24px;margin-top:24px}.links-list{list-style:none;padding:0;margin:0}.links-list li{padding:17px 0;border-bottom:1px solid var(--line)}.links-list li:last-child{border-bottom:0;padding-bottom:0}.links-list li:first-child{padding-top:0}.links-list a{font-weight:700;text-decoration:none}.links-list .description{display:block;color:var(--muted);font-size:.97rem;margin-top:4px}.app-list li{padding:13px 0}.app-list a{font-weight:normal}.app-list strong{font-weight:800}.section-caption{color:var(--muted);margin-bottom:25px}.gallery-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.gallery-card{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}.gallery-card:hover{color:var(--ink);transform:translateY(-4px);box-shadow:0 14px 40px #2e23571c}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-card div{padding:22px}.gallery-card h2{font-size:1.6rem;margin:0 0 8px}.gallery-card p{color:var(--muted);margin:0}.back-link{display:inline-block;margin:28px 0 0;font-weight:700}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.photo-item{margin:0;background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden}.photo-item a{display:block}.photo-item img{width:100%;height:300px;object-fit:cover;display:block}.photo-item figcaption{padding:16px 20px 20px;color:var(--muted)}.photo-item figcaption strong{display:block;color:var(--ink);font-family:'Space Grotesk';font-size:1.16rem;margin-bottom:3px}.lightbox{border:0;padding:12px;background:#1b1630;max-width:min(96vw,1200px);max-height:95vh;border-radius:14px;color:white}.lightbox::backdrop{background:#0d0919e8}.lightbox img{display:block;max-width:100%;max-height:78vh;object-fit:contain}.lightbox button{float:right;border:0;background:#fff;color:#241e43;border-radius:999px;padding:6px 13px;font-weight:700;cursor:pointer;margin-bottom:8px}.about-bg{background:#32265d url('../images/uncanny-wallpaper.jpg') repeat;background-size:240px 240px}.about-bg .site-header,.about-bg .site-footer{background:#fffc}.about-bg main{padding:55px 0}.about-paper{background:#fffffff2;backdrop-filter:blur(4px);border-radius:30px;padding:clamp(26px,5vw,57px);box-shadow:0 25px 75px #08001d7a}.about-paper h1{font-size:clamp(2.5rem,5vw,4rem)}.timeline{border-left:3px solid #cabaf7;margin:30px 0 0 8px;padding-left:27px}.timeline-entry{position:relative;margin-bottom:26px}.timeline-entry:before{content:'';width:13px;height:13px;position:absolute;left:-35px;top:5px;background:#7454bd;border:4px solid #f4efff;border-radius:50%}.year{font-family:'Space Grotesk';font-size:1.25rem;font-weight:800;color:var(--blue);display:block;margin-bottom:4px}.timeline-entry p{margin:0}.about-paper .warning{font-size:.88rem;color:#686079;font-style:italic;border-top:1px solid var(--line);padding-top:18px;margin-top:30px}@media(max-width:750px){.hero{grid-template-columns:1fr;min-height:auto;padding:45px 0;gap:45px}.hero-image-wrap{width:min(85%,440px);margin:auto}.header-inner{justify-content:center}.gallery-cards,.photo-grid{grid-template-columns:1fr}.photo-item img{height:260px}.page-intro{padding-top:48px}}
