:root{--navy:#061225;--ink:#071126;--cyan:#19c8d6;--yellow:#ffd156;--coral:#ff6d70;--paper:#f6f5f1;--line:rgba(255,255,255,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}a{color:inherit}.site-header{height:118px;padding:12px clamp(22px,6vw,92px);display:flex;align-items:center;justify-content:space-between;background:rgba(248,247,243,.97);color:var(--ink);position:relative;z-index:10;border-bottom:1px solid rgba(7,17,38,.1)}.brand img{display:block;width:clamp(245px,28vw,355px);height:auto;max-height:88px;object-fit:contain}.site-header nav{display:flex;gap:clamp(22px,3vw,48px);font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:#087f9a}.menu-button{display:none;border:0;background:none;font:inherit;font-weight:700;color:var(--ink)}.hero{min-height:calc(100svh - 118px);position:relative;display:flex;align-items:center;background:url("hero-portal.png") center/cover no-repeat;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,10,23,.97) 0%,rgba(2,10,23,.76) 45%,rgba(2,10,23,.08) 78%)}.hero-content{position:relative;width:min(760px,82vw);margin-left:clamp(24px,9vw,176px);padding:70px 0 90px}.eyebrow,.section-label,.project-type{letter-spacing:.22em;font-size:.78rem;font-weight:700;text-transform:uppercase;color:#36d9e5}.hero h1{font-size:clamp(4rem,8.4vw,8.4rem);line-height:.83;letter-spacing:-.065em;margin:.34em 0 .36em;font-weight:450}.hero h1 em{font-weight:600;font-style:italic;background:linear-gradient(90deg,#24ced7,#ffd255,#ff6d72,#ee3a76);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:520px;color:rgba(255,255,255,.78)}.text-link{display:inline-flex;gap:45px;margin-top:22px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.7);text-decoration:none;font-weight:650}.hero-note{position:absolute;right:2.8vw;bottom:55px;writing-mode:vertical-rl;letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:rgba(255,255,255,.62)}.section{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:5vw;padding:clamp(82px,10vw,150px) clamp(24px,8vw,150px);border-top:1px solid var(--line)}.section-label{padding-top:.5rem}.studio{background:var(--paper);color:var(--ink)}.studio .section-label{color:#0c8297}.section h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:.98;letter-spacing:-.055em;margin:0 0 42px}.section-copy{max-width:850px}.section-copy p{font-size:clamp(1.1rem,1.6vw,1.45rem);max-width:710px;color:#354052}.projects{background:#08172c}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-card{min-height:460px;border-radius:28px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.project-card:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-70px;top:-80px;filter:blur(2px);opacity:.76}.project-card>div{position:relative;z-index:1}.kuvilo{background:linear-gradient(145deg,#123d54,#0b2237 65%,#171b37)}.kuvilo:after{background:radial-gradient(circle at 30% 30%,#ffe15e,#ff6d70 38%,#6256f2 66%,transparent 68%)}.oyun{background:linear-gradient(145deg,#16382e,#071d21 65%,#112339)}.oyun:after{background:radial-gradient(circle at 35% 30%,#8dffb6,#15a9b7 43%,#08517f 67%,transparent 69%)}.project-number{font-size:.82rem;letter-spacing:.2em}.project-card h3{font-size:clamp(2.4rem,4vw,4.3rem);line-height:1;margin:.18em 0}.project-card p:not(.project-type){max-width:470px;color:rgba(255,255,255,.72);font-size:1.05rem}.ideas{background:#061225}.explore-list{margin:0;padding:0;list-style:none}.explore-list li{font-size:clamp(1.7rem,3.6vw,4rem);letter-spacing:-.035em;padding:22px 0;border-bottom:1px solid var(--line)}.explore-list span{font-size:.72rem;letter-spacing:.2em;color:#36d9e5;margin-right:2vw}.manifesto{min-height:65vh;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:clamp(28px,6vw,100px);padding:80px 8vw}.manifesto img{width:clamp(100px,16vw,230px);height:auto}.manifesto blockquote{font-size:clamp(2.2rem,5vw,5.3rem);line-height:1.04;letter-spacing:-.05em;margin:0;max-width:1030px}.contact{background:linear-gradient(135deg,#0c2640,#071326 65%)}.contact-copy a{display:inline-block;font-size:clamp(1.4rem,2.5vw,2.3rem);text-decoration:none;border-bottom:1px solid #fff;padding-bottom:4px}.contact-copy p{margin-top:44px;color:rgba(255,255,255,.6)}footer{display:grid;grid-template-columns:2fr 1fr auto;gap:40px;align-items:end;padding:55px clamp(24px,8vw,150px);background:#030a16;border-top:1px solid var(--line);font-size:.86rem;color:rgba(255,255,255,.65)}.footer-brand{display:flex;flex-direction:column;gap:5px}.footer-brand strong{font-size:1.15rem;letter-spacing:.08em;color:#fff}.footer-brand span{font-size:.68rem;letter-spacing:.2em}footer nav{display:flex;gap:20px}footer nav a{text-decoration:none}.cookie-note{position:fixed;z-index:30;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;background:#fff;color:var(--ink);box-shadow:0 18px 60px rgba(0,0,0,.35);border-radius:14px;font-size:.9rem}.cookie-note p{margin:0}.cookie-note button{border:0;border-radius:999px;padding:10px 17px;background:var(--ink);color:#fff;font:inherit;font-weight:700}.cookie-note.is-hidden{display:none}
@media(max-width:820px){.site-header{height:92px;padding:10px 20px}.brand img{width:228px;max-height:70px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:92px;left:0;right:0;padding:22px;background:var(--paper);flex-direction:column;border-top:1px solid #ddd}.site-header nav.is-open{display:flex}.hero{min-height:calc(100svh - 92px);background-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(2,10,23,.97),rgba(2,10,23,.65) 72%,rgba(2,10,23,.2))}.hero-content{margin-left:24px;width:90vw}.hero-note{display:none}.section{grid-template-columns:1fr;padding:75px 24px}.project-grid{grid-template-columns:1fr}.project-card{min-height:390px}.manifesto{flex-direction:column;align-items:flex-start}.manifesto img{width:120px}footer{grid-template-columns:1fr;align-items:start}.cookie-note{align-items:flex-start}.cookie-note button{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Project links and expanded content */
.project-card{text-decoration:none;border:1px solid transparent;transition:transform .25s ease,border-color .25s ease}
.project-card[href]:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.28)}
.project-link{display:inline-block;margin-top:22px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.65);font-weight:700}
.project-link.muted{border:0;color:rgba(255,255,255,.45);font-weight:500}
.ideas-copy{max-width:1100px}
.ideas-intro{max-width:750px;margin:-18px 0 42px;color:rgba(255,255,255,.68);font-size:clamp(1.05rem,1.5vw,1.3rem)}
.contact-intro{max-width:620px;margin:-18px 0 34px!important;color:rgba(255,255,255,.68)!important;font-size:1.1rem}
.contact-location{margin-top:44px!important}

/* Ben & Kuvilo project page */
.back-link{text-decoration:none;font-weight:700}
.back-link:hover{color:#087f9a}
.project-hero{min-height:calc(100svh - 118px);position:relative;overflow:hidden;padding:clamp(70px,9vw,140px) clamp(24px,8vw,150px);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:7vw;align-items:end}
.project-hero-kuvilo{background:radial-gradient(circle at 80% 20%,rgba(255,209,86,.22),transparent 30%),linear-gradient(140deg,#123d54,#08172c 58%,#171b37)}
.project-hero-orb{position:absolute;width:min(48vw,640px);aspect-ratio:1;border-radius:50%;right:-8vw;top:-12vw;background:radial-gradient(circle at 30% 30%,#ffe15e,#ff6d70 38%,#6256f2 66%,transparent 68%);opacity:.72}
.project-hero-copy,.project-facts{position:relative;z-index:1}
.project-hero h1{font-size:clamp(5rem,11vw,10rem);line-height:.78;letter-spacing:-.075em;margin:.32em 0 .28em;font-weight:520}
.project-hero h1 span{color:var(--yellow);font-style:italic}
.project-hero-copy>p:last-child{font-size:clamp(1.1rem,1.7vw,1.45rem);color:rgba(255,255,255,.76);max-width:680px}
.project-facts{margin:0;border-top:1px solid var(--line)}
.project-facts div{padding:17px 0;border-bottom:1px solid var(--line)}
.project-facts dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#36d9e5}
.project-facts dd{margin:3px 0 0;font-size:1.05rem}
.project-story{background:var(--paper);color:var(--ink)}
.project-story .section-label,.project-audience .section-label{color:#0c8297}
.project-principles{background:#08172c}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.principle-grid article{padding:30px;border:1px solid var(--line);border-radius:22px}
.principle-grid article>span{color:#36d9e5;font-size:.75rem;letter-spacing:.18em}
.principle-grid h2{font-size:clamp(2rem,3vw,3.2rem);margin:50px 0 20px}
.principle-grid p{color:rgba(255,255,255,.68)}
.project-audience{background:#e7f3f4;color:var(--ink)}
.project-contact{padding:clamp(90px,12vw,170px) clamp(24px,8vw,150px);background:linear-gradient(135deg,#0c2640,#071326 65%)}
.project-contact h2{font-size:clamp(2.8rem,6vw,6rem);line-height:.96;letter-spacing:-.055em;margin:.35em 0 .6em}
.project-contact a{font-size:clamp(1.4rem,2.5vw,2.3rem);text-decoration:none;border-bottom:1px solid #fff;padding-bottom:4px}

@media(max-width:820px){
  .project-hero{min-height:auto;grid-template-columns:1fr;padding:75px 24px}
  .project-hero-orb{width:82vw;right:-35vw;top:-12vw}
  .project-facts{margin-top:25px}
  .principle-grid{grid-template-columns:1fr}
  .back-link{font-size:.9rem}
}
