:root{--ink:#0b0b09;--ink-soft:#12120f;--paper:#f5f1e7;--gold:#f6c84c;--gold-deep:#d7a92f;--mist:#aaa89f;--line:rgba(245,241,231,.15);--max:1240px;--radius:26px;--display:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}.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}.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;background:var(--gold);color:var(--ink);padding:.65rem 1rem;border-radius:999px;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:none}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.2;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.site-header{height:92px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:50;background:rgba(11,11,9,.86);backdrop-filter:blur(16px)}.brand img{width:196px}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.06em}.nav-links a:not(.nav-contact){color:#cac7be}.nav-links a:hover{color:var(--gold)}.nav-contact{border:1px solid rgba(246,200,76,.45);border-radius:999px;padding:.55rem 1rem}.nav-contact span{color:var(--gold);margin-left:.4rem}.nav-toggle{display:none}.hero{min-height:calc(100vh - 92px);max-width:var(--max);margin:auto;padding:clamp(5rem,10vw,9rem) 24px 5rem;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow,.kicker{text-transform:uppercase;font-size:.72rem;letter-spacing:.2em;font-weight:800;color:var(--gold)}.pulse{width:7px;height:7px;display:inline-block;background:var(--gold);border-radius:50%;margin-right:.65rem;box-shadow:0 0 0 6px rgba(246,200,76,.09)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.055em;line-height:.92}h1{font-size:clamp(4rem,8.4vw,8.2rem);margin:.85rem 0 2rem;max-width:820px}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-deck{max-width:600px;color:#c0bdb4;font-size:clamp(1rem,1.5vw,1.2rem);margin-bottom:2.3rem}.text-link{display:inline-flex;gap:.7rem;align-items:center;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;border-bottom:1px solid var(--gold);padding-bottom:.4rem}.text-link span{color:var(--gold)}.hero-mark{position:relative;display:grid;place-items:center;min-height:550px}.hero-mark img{width:min(100%,540px);position:relative;z-index:2;filter:drop-shadow(0 24px 80px rgba(246,200,76,.12));animation:float 6s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(246,200,76,.18);border-radius:50%;transform:rotate(-20deg)}.orbit-one{width:96%;height:45%}.orbit-two{width:69%;height:30%;transform:rotate(55deg)}.spark{position:absolute;color:var(--gold);font-size:1.1rem}.spark-a{right:8%;top:22%}.spark-b{left:7%;bottom:23%;font-size:.65rem}.hero-aside{position:absolute;right:0;bottom:3rem;writing-mode:vertical-rl;font-size:.64rem;letter-spacing:.2em;color:#78766f}.hero-aside span{color:var(--gold)}@keyframes float{50%{transform:translateY(-10px) rotate(1deg)}}.section-shell{max-width:var(--max);margin:auto;padding:clamp(6rem,10vw,10rem) 24px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4rem}.section-heading h2,.updates h2,.contact h2{font-size:clamp(3.5rem,7vw,7rem);margin:0}.section-heading .kicker{padding-top:.9rem}.project-card{display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper);color:var(--ink);border-radius:var(--radius);overflow:hidden;min-height:630px}.project-visual{position:relative;background:var(--gold);display:grid;place-items:center;overflow:hidden}.project-visual>p{position:absolute;bottom:2rem;left:2.3rem;font-family:var(--display);font-size:1.2rem;font-style:italic}.wishdrop-icon{width:175px;aspect-ratio:1;background:var(--ink);border-radius:35%;display:grid;place-items:center;position:relative;z-index:2;transform:rotate(-4deg);box-shadow:0 30px 70px rgba(11,11,9,.24)}.wishdrop-icon span{font-size:5rem;color:var(--gold)}.wishdrop-orbit{position:absolute;border:1px solid rgba(11,11,9,.23);border-radius:50%}.orbit-small-one{width:110%;height:45%;transform:rotate(-20deg)}.orbit-small-two{width:85%;height:35%;transform:rotate(48deg)}.project-copy{padding:clamp(2.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.project-meta{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.13em;font-size:.67rem;font-weight:800;color:#716d63;border-bottom:1px solid rgba(11,11,9,.17);padding-bottom:1.2rem;margin-bottom:2.4rem}.project-copy h3{font-family:var(--display);font-size:clamp(3.5rem,6vw,6rem);letter-spacing:-.06em;line-height:1;margin-bottom:1.4rem}.project-copy>p{color:#5e5a51;max-width:520px;font-size:1.06rem}.project-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.4rem 0 2.4rem}.project-tags li{border:1px solid rgba(11,11,9,.18);border-radius:999px;padding:.38rem .75rem;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.store-row{display:flex;gap:.75rem;flex-wrap:wrap}.store-badge{display:flex;align-items:center;gap:.65rem;background:var(--ink);color:var(--paper);border-radius:10px;padding:.6rem .9rem;min-width:148px}.store-badge small,.store-badge strong{display:block;line-height:1.08}.store-badge small{font-size:.57rem}.store-badge strong{font-size:.97rem}.store-icon{font-size:1.4rem}.store-icon.play{font-size:1.1rem;color:var(--gold)}.store-badge-muted{opacity:.62}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem)}.about-heading{display:block;margin:0;position:sticky;top:130px;align-self:start}.about-heading .kicker{padding:0}.about-body{padding-top:2rem}.about-body>.lead{font-family:var(--display);font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;color:var(--paper)}.about-body>p{color:#aaa79e;font-size:1.05rem}.principles{margin-top:4rem}.principles>div{display:grid;grid-template-columns:48px 1fr;gap:0 1.2rem;padding:1.5rem 0;border-top:1px solid var(--line)}.principles span{grid-row:1/3;color:var(--gold);font-size:.7rem;font-weight:800}.principles strong{font-size:1rem}.principles p{color:#8b8981;font-size:.88rem;margin:.25rem 0 0}.updates{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:end}.updates h2{font-size:clamp(3.4rem,5.8vw,6rem);margin:.6rem 0 1.5rem}.updates-intro>p:last-child{color:#96938a;max-width:430px}.note-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2rem 0;display:grid;grid-template-columns:130px 1fr 30px;gap:1.4rem;align-items:start}.note-card time,.note-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;color:#85827a}.note-card h3{font-family:var(--display);font-size:2.3rem;line-height:1.05;margin:.5rem 0}.note-card div>p:last-child{color:#96938a;margin:0}.note-arrow{color:var(--gold);font-size:1.5rem}.contact{text-align:center;position:relative;overflow:hidden}.contact>img{margin:0 auto 2.5rem;width:105px;opacity:.85}.contact h2{margin:.7rem 0 2.8rem}.email-link{font-size:clamp(1rem,2vw,1.3rem);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.4rem}.email-link span{color:var(--gold);margin-left:.6rem}.site-footer{max-width:var(--max);margin:auto;padding:2rem 24px 3rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#77756f;font-size:.69rem;text-transform:uppercase;letter-spacing:.1em}.site-footer p{margin:0}.site-footer a{text-decoration:none;color:#aaa79e}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px;border-radius:4px}
@media(max-width:900px){.site-header{height:78px}.nav-toggle{display:grid;gap:6px;background:none;border:0;padding:12px;cursor:pointer}.nav-toggle span:not(.sr-only){width:24px;height:1px;background:var(--paper);display:block}.nav-links{position:absolute;top:78px;left:0;right:0;background:#10100d;border-bottom:1px solid var(--line);padding:1.5rem 24px 2rem;display:none;align-items:stretch}.nav-links.open{display:grid}.nav-links a{padding:.65rem 0;font-size:1rem}.nav-contact{margin-top:.5rem;text-align:center}.hero{min-height:auto;grid-template-columns:1fr;padding-top:5rem}.hero-mark{min-height:420px;margin-top:1.5rem}.hero-mark img{width:420px}.hero-aside{display:none}.project-card{grid-template-columns:1fr;min-height:0}.project-visual{min-height:480px}.about{grid-template-columns:1fr}.about-heading{position:static}.updates{grid-template-columns:1fr}.note-card{grid-template-columns:100px 1fr 20px}}
@media(max-width:600px){.brand img{width:167px}.hero{padding-top:4rem}.hero h1{font-size:clamp(3.55rem,17vw,5.2rem)}.hero-deck{font-size:1rem}.hero-mark{min-height:330px}.hero-mark img{width:330px}.section-shell{padding-top:5.5rem;padding-bottom:5.5rem}.section-heading{display:block}.section-heading h2{margin-top:1rem}.project-card{border-radius:18px}.project-visual{min-height:370px}.wishdrop-icon{width:130px}.project-visual>p{left:1.5rem;bottom:1.3rem}.project-copy{padding:2rem 1.5rem 2.5rem}.project-copy h3{font-size:3.7rem}.project-meta{margin-bottom:1.6rem}.store-row{display:grid}.store-badge{width:100%}.note-card{grid-template-columns:1fr 20px}.note-card time{grid-column:1/3}.site-footer{display:grid;gap:.6rem;text-align:center}.contact h2{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Dark concept — compact landing composition */
:root{--ink:#080b0d;--gold:#f4b500;--gold-deep:#d99d00;--radius:14px}
.site-header{height:76px;background:rgba(7,9,10,.92);padding-inline:max(24px,calc((100vw - var(--max))/2));border-color:rgba(255,255,255,.08)}
.brand img{width:190px;height:auto}.nav-links{gap:3rem}.nav-links a{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#f5f1e7!important}.nav-contact{border:0;padding:0}.nav-contact span{display:none}.nav-links a:first-child{position:relative}.nav-links a:first-child::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);left:50%;top:1.8rem;transform:translateX(-50%)}
.hero{min-height:auto;padding:3.4rem 24px 1rem;grid-template-columns:.95fr 1.05fr;gap:2rem;overflow:visible}.hero-copy{padding-left:0}.hero h1{font-family:var(--sans);font-size:clamp(3.25rem,5.15vw,5.6rem);line-height:.98;letter-spacing:-.058em;margin:0 0 1.5rem;font-weight:850}.hero h1 em{font-style:normal;color:var(--gold)}.hero-deck{font-size:1rem;line-height:1.55;color:#e0ddd5;margin-bottom:1.65rem}.hero-actions{display:flex;align-items:center;gap:2rem}.button-primary{background:var(--gold);color:var(--ink);border-radius:6px;text-decoration:none;font-size:.71rem;font-weight:850;padding:.78rem 1.15rem;box-shadow:0 8px 26px rgba(244,181,0,.15)}.button-primary span{margin-left:.9rem}.text-link{font-size:.7rem;border:0;padding:0;text-transform:none;letter-spacing:0}.text-link span{font-size:1.1rem}.hero-mark{min-height:350px}.hero-mark img{width:min(100%,430px);filter:drop-shadow(0 20px 55px rgba(0,0,0,.38));animation:float 7s ease-in-out infinite}.orbit-one,.orbit-two{display:none}.hero-mark::after{content:"";position:absolute;width:110%;height:65%;right:-20%;top:18%;opacity:.3;background:repeating-radial-gradient(ellipse at right,transparent 0 11px,rgba(245,241,231,.08) 12px 13px);mask-image:linear-gradient(to left,#000,transparent 82%)}.spark{z-index:3}.spark-a{right:9%;top:10%}.spark-b{left:5%;bottom:16%}
.work.section-shell{padding:0 24px 2.3rem;border:0}.project-card{min-height:0;grid-template-columns:90px 1fr;background:linear-gradient(110deg,#151a20,#101418);color:var(--paper);border:1px solid rgba(255,255,255,.035);border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.project-visual{min-height:86px;background:transparent;padding:12px}.wishdrop-icon{width:64px;border-radius:14px;background:linear-gradient(145deg,#fff8e7,#f7d9a1);transform:none;box-shadow:none}.wishdrop-icon span{font-size:2rem;color:#ff6b34}.wishdrop-orbit{display:none}.project-copy{padding:1rem 1.8rem;display:grid;grid-template-columns:minmax(230px,1fr) auto;grid-template-rows:auto auto auto;align-items:center;column-gap:2rem}.project-meta{grid-column:1;margin:0 0 .1rem;border:0;padding:0;display:block;color:var(--gold);font-size:.58rem}.project-copy h3{grid-column:1;font-family:var(--sans);font-size:1.75rem;letter-spacing:-.04em;margin:0;line-height:1.05}.project-copy>p{grid-column:1;color:#fff;font-size:.84rem;margin:.35rem 0 0}.project-tags{display:none}.store-row{grid-column:2;grid-row:1/4;gap:2rem}.store-badge{border:1px solid rgba(255,255,255,.15);background:#050505;padding:.5rem .8rem;min-width:140px}.store-badge-muted{opacity:1}.studio-values{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;padding:1.8rem 1.8rem 0}.studio-values>div{display:grid;grid-template-columns:34px 1fr;gap:.7rem}.studio-values>div>span{font-size:1.55rem;line-height:1;color:var(--gold)}.studio-values p{font-size:.68rem;line-height:1.45;color:#c6c3ba;margin:0}.studio-values strong{display:block;color:#fff;font-size:.76rem;margin-bottom:.2rem}
.about.section-shell{margin-top:4rem}.section-shell{border-color:rgba(255,255,255,.09)}
@media(max-width:900px){.site-header{height:76px}.nav-links{top:76px}.hero{grid-template-columns:1fr;padding-top:3.8rem}.hero-mark{min-height:390px}.hero-mark img{width:390px}.project-copy{grid-template-columns:1fr}.store-row{grid-column:1;grid-row:auto;margin-top:1rem}.studio-values{grid-template-columns:repeat(2,1fr)}.about.section-shell{margin-top:2rem}}
@media(max-width:600px){.site-header{height:70px}.brand img{width:166px}.nav-links{top:70px}.hero{padding:3.5rem 24px 0;gap:0}.hero h1{font-size:clamp(3.05rem,14vw,4.15rem)}.hero-deck br{display:none}.hero-actions{gap:1.5rem}.hero-mark{min-height:330px;margin-top:1rem}.hero-mark img{width:330px}.work.section-shell{padding-top:0}.project-card{grid-template-columns:78px 1fr}.project-visual{min-height:104px}.wishdrop-icon{width:58px}.project-copy{padding:.8rem .8rem}.project-copy h3{font-size:1.45rem}.project-copy>p{font-size:.72rem}.store-row{grid-column:1/2;margin-top:.8rem;display:none}.studio-values{grid-template-columns:1fr 1fr;padding:1.5rem .2rem 0;gap:1.5rem 1rem}.about.section-shell{margin-top:1rem}}
html,body{overflow-x:clip}
.hero-mark img{border-radius:50%}
img{height:auto}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}.brand-mark{width:42px;height:42px;overflow:hidden;border:1px solid var(--gold);border-radius:50%;flex:0 0 auto}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-name{color:var(--paper);font-size:.82rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}.contact>img.contact-mascot{width:clamp(150px,16vw,220px);height:auto;margin-bottom:1.5rem;border-radius:50%}
@media(max-width:600px){.brand-mark{width:38px;height:38px}.brand-name{font-size:.72rem}.contact>img.contact-mascot{width:170px}}
.project-logo-tile{width:64px;aspect-ratio:1;display:grid;place-items:center;padding:10px;background:linear-gradient(145deg,#fff8e7,#f7d9a1);border-radius:14px}.project-logo-tile img{width:100%;height:auto;filter:drop-shadow(0 3px 5px rgba(0,79,176,.18))}
.project-wordmark{width:clamp(150px,18vw,205px);height:auto}
@media(max-width:600px){.project-logo-tile{width:58px;padding:8px}.project-wordmark{width:145px}}

/* Hero kicker — studio name above the headline, reusing the .kicker system */
.hero-kicker{margin:0 0 .95rem;font-size:1.15rem;letter-spacing:.15em}
@media(max-width:600px){.hero-kicker{margin-bottom:.65rem}}

/* App Store badge is a real link now, so it needs link affordances */
a.store-badge{text-decoration:none;transition:border-color .18s,background .18s,transform .18s}
a.store-badge:hover{border-color:rgba(246,200,76,.55);background:#0e0e0d;transform:translateY(-1px)}

/* Mobile: the compact card strip had no room for the badges, so layer 14 hid
   them outright. Stack the card instead so the store links stay reachable. */
@media(max-width:600px){
  .project-card{grid-template-columns:1fr}
  .project-visual{min-height:auto;padding:14px 14px 0;place-items:start}
  .project-copy{padding:.9rem 1rem 1.1rem}
  .store-row{display:grid;gap:.5rem;margin-top:1rem}
  .store-badge{width:100%}
}

/* Second project card: Trump or My Cat. Versus-style icon, the two caricatures split down the middle. */
.project-card+.project-card{margin-top:1rem}
.versus-tile{padding:0;overflow:hidden;grid-template-columns:1fr 1fr;gap:2px;background:#f7d9a1}
.versus-tile img{width:100%;height:100%;object-fit:cover;background:#fff8e7;filter:none}
/* Full-bleed app icon (Hoop Dreams): the artwork already has its own background. */
.app-icon-tile{padding:0;overflow:hidden}
.app-icon-tile img{filter:none}
/* Studio values spacing: the row owns equal space above and below, so it sits centered
   between the project cards and the about section's top border. Earlier layers stacked
   work padding + about margin underneath, leaving it hugging the cards. */
.work.section-shell{padding-bottom:0}
.about.section-shell{margin-top:0}
.studio-values{padding-top:3.5rem;padding-bottom:3.5rem}
@media(max-width:900px){.studio-values{padding-top:3rem;padding-bottom:3rem}}
@media(max-width:600px){.studio-values{padding-top:2.5rem;padding-bottom:2.5rem}}
/* Workbench history: a stacked list of notes. Neighbours share one divider, and the
   headline link stretches over the whole card so the arrow means what it says. */
.updates{align-items:start}
.note-card{position:relative}
.note-card+.note-card{border-top:0}
.note-link{text-decoration:none}
.note-link::after{content:"";position:absolute;inset:0}
.note-card:hover .note-link{color:var(--gold)}
.note-card:hover .note-arrow{transform:translate(2px,-2px)}
.note-arrow{transition:transform .18s}
.note-card h3{font-size:1.8rem}
@media(min-width:901px){.updates-intro{position:sticky;top:130px}}
@media(max-width:600px){.note-card h3{font-size:1.55rem}}
