@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap');

:root { --ink:#050505; --paper:#fff; --line:#e7e7e7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { max-width:1600px; min-height:100vh; margin:auto; padding:0 clamp(24px,3.5vw,54px); display:flex; flex-direction:column; }
.shell:has(+ .case-page) { min-height:0; display:block; }
nav { position:relative; height:90px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.mark { display:inline-flex; align-items:center; justify-content:center; width:78px; height:66px; background:transparent; }
.mark img { display:block; width:100%; height:100%; object-fit:contain; }
.nav-links { position:absolute; left:50%; display:flex; gap:24px; font:12px "DM Mono",monospace; transform:translateX(-50%); }
.nav-links a { opacity:.65; transition:opacity .2s; }
.nav-links a:hover { opacity:1; }
main { flex:1; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(70px,11vw,160px) 0 38px; }
.eyebrow { font:12px "DM Mono",monospace; color:#777; }
h1 { max-width:1000px; margin:20px 0 0; font-size:clamp(57px,10vw,160px); font-weight:600; line-height:.85; letter-spacing:-.105em; }
.status { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-top:80px; border-top:1px solid var(--line); font:12px/1.45 "DM Mono",monospace; }
.status p { max-width:315px; margin:0; }
.dot { width:8px; height:8px; display:inline-block; margin-right:8px; border-radius:50%; background:#b9b9b9; }
.cursor { position:fixed; top:0; left:0; z-index:101; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#fff; mix-blend-mode:difference; pointer-events:none; transform:translate3d(-100px,-100px,0); transition:width .26s cubic-bezier(.2,.7,.2,1), height .26s cubic-bezier(.2,.7,.2,1); }
.cursor span { opacity:0; font:10px "DM Mono",monospace; letter-spacing:.08em; transition:opacity .16s ease; }
.cursor.is-text { width:38px; height:38px; }
.cursor.is-card { width:68px; height:68px; }
.cursor.is-card span { opacity:1; }
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
body.ready [data-reveal] { opacity:1; transform:none; }
@media (max-width:680px) { .shell { padding:0 20px; } nav { height:70px; } .nav-links { gap:13px; } h1 { font-size:68px; } .status { align-items:flex-start; flex-direction:column; padding-top:54px; } }
@media (prefers-reduced-motion:reduce) { [data-reveal] { opacity:1; transform:none; transition:none; } }
@media (pointer:fine) { body, body * { cursor:none !important; } }
@media (pointer:coarse) { .cursor { display:none; } }

/* Display type for case-study headings; body and utility text remain unchanged. */
h1, h2, h3, h4 {
  font-family:"DM Serif Display", Georgia, serif;
  font-weight:400;
  letter-spacing:-.035em;
}
