:root{--black:#111214;--cream:#f0ece2;--silver:#bfc1c5;--wine:#722b3e;--display:'Pirata One',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#35363b,#141518 70%);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;-webkit-tap-highlight-color:transparent;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--silver);outline-offset:5px}svg{display:block;width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;top:-100px;background:var(--cream);color:#111;padding:12px;z-index:10}.skip:focus{top:12px}.bio{max-width:680px;margin:auto;background:var(--black);overflow:hidden}.hero{height:660px;position:relative;isolation:isolate;background:#34353a;text-align:center}.portrait{position:absolute;inset:0;width:100%;height:510px;object-fit:cover;object-position:center 23%;z-index:-2}.hero-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 24%,#34353a0a 40%,#34353a99 54%,#34353af5 69%,#111214 100%),radial-gradient(ellipse at 50% 83%,#72757b80,transparent 59%)}.brand{position:absolute;left:20px;right:20px;bottom:58px;animation:entrance .85s ease both;text-shadow:0 2px 20px #0007}.studio-label{font-size:10px;letter-spacing:.24em;color:#d0d0d4;display:block;margin-bottom:13px}h1{font:76px/1 var(--display);margin:0;color:var(--cream);font-weight:400;letter-spacing:.01em}.ink-word{color:#d1d2d5}.specialty{font-size:10px;letter-spacing:.13em;margin:16px 0 20px;color:#dbdadd}.intro{font-size:16px;line-height:1.45;margin:0}.intro br{display:none}.intro em{font-style:normal;color:#fff4e2}.hero-caption{position:absolute;bottom:20px;left:0;width:100%;font-size:9px;letter-spacing:.2em;color:#aaaeb5}.social-line{display:flex;align-items:center;gap:14px;padding:7px 28px 0}.social-line>span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#8e9197)}.social-line>span:last-child{transform:rotate(180deg)}.social-line button{display:grid;place-items:center;width:45px;height:45px;border:1.5px solid #bfc1c5;background:#1a1b1f;color:#ececef;border-radius:3px}.links{padding:0 26px 25px}.invitation{text-align:center;font:34px/1.18 var(--display);color:#ebe7dc;margin:36px 0 28px}.invitation span{color:#bfc1c5}.card{display:flex;align-items:center;gap:16px;width:100%;min-height:108px;padding:19px 17px;margin:0 0 16px;border:1px solid #696b72;border-left:3px solid #87354d;border-radius:1px;text-align:left;background:linear-gradient(110deg,#393b41,#232429);color:var(--cream);scale:1;transition:scale .32s ease-out,transform .6s ease,opacity .6s ease,box-shadow .32s ease}.card-slot:first-of-type>.card{background:linear-gradient(115deg,#702a3e,#411e2a);border-color:#98516a}.icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:1px solid #a6a7ac;background:#12131822;color:var(--silver);border-radius:2px}.lettering{font-family:var(--display)}.icon.lettering{font-size:31px}.copy{flex:1;min-width:0}.title{display:block;font:26px/1.13 var(--display);margin-bottom:7px}.description{display:block;font-size:13px;line-height:1.5;color:#dedbe0}.arrow{color:#cccdd0;font-size:24px}.closing{height:265px;position:relative;isolation:isolate;margin:0}.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1)}.closing:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#111214,transparent 80%),linear-gradient(90deg,#111214b3,transparent),linear-gradient(180deg,#111214,transparent 30%)}.closing figcaption{position:absolute;bottom:30px;left:28px;font:29px/1.15 var(--display)}.closing em{font-style:normal;color:var(--silver)}footer{text-align:center;padding:20px 20px 28px}footer p{font-size:11px;letter-spacing:.14em}footer p span{color:#b75e79;margin:0 6px}footer small{font-size:10px;line-height:1.8;color:#acadb3}.reveal{transition:opacity .6s ease,transform .6s ease}.card.reveal{transition:scale .32s ease-out,transform .6s ease,opacity .6s ease,box-shadow .32s ease}.waiting{opacity:0;transform:translateY(14px)}dialog{padding:0;width:min(560px,calc(100% - 28px));max-height:88dvh;overflow:auto;border:1px solid #83858d;border-radius:2px;background:linear-gradient(135deg,#303138,#121316 75%);color:var(--cream);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#08090bbb;backdrop-filter:blur(5px)}dialog[open]{animation:entrance .3s ease both}dialog.leaving{animation:exit .22s ease both}.close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;z-index:5;height:38px;width:38px;border:1px solid #999ca4;background:#17181ce8;color:var(--cream);font-size:25px;border-radius:1px}.dialog-head{padding:38px 27px 23px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#c7b2ba;line-height:1.6;margin:0 0 15px}h2{font:39px/1.1 var(--display);font-weight:400;margin:0 0 18px}h2 em{font-style:normal;color:#c9cbd0}.dialog-head>p:last-child,.about-copy>p:not(.eyebrow):not(.sign):not(.demo-note){font-size:15px;line-height:1.7;color:#dddae0}.service-group{border-top:1px solid #6d6e7555}.service-group>img{width:100%;height:225px;object-fit:cover;filter:grayscale(1)}.service-content{padding:25px 27px}h3{font:30px var(--display);margin:0 0 20px}ul{list-style:none;margin:0;padding:0}li{padding:12px 0;border-top:1px solid #a8a8ae33}li strong{font-size:15px;display:block;font-weight:500}li span{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:#c3c1c9}.demo-note{font-size:11px!important;line-height:1.6;color:#acabb3;padding:0 27px 20px;margin:0}.about-photo{width:100%;height:280px;object-fit:cover;object-position:center 58%;display:block;margin-top:-50px;filter:grayscale(1)}.about-copy{padding:30px 27px}.about-copy .demo-note{padding:0}.values{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.values span{border:1px solid #916071;padding:8px 12px;font-size:12px;color:#e1cdd4;background:#722b3e22}.sign{font-size:35px;margin:22px 0;color:#dedce0}.locked{overflow:hidden}@media(min-width:720px){.bio{margin:30px auto;border:1px solid #6d6f7944}.hero{height:790px}.portrait{height:650px;object-position:center 25%}.brand{bottom:62px}h1{font-size:97px}.specialty{font-size:12px}.intro{font-size:18px}.links{padding:0 50px 27px}.card{min-height:120px;padding:22px;gap:22px}.title{font-size:30px}.description{font-size:14px}.invitation{font-size:39px}.closing{height:310px}.closing figcaption{left:50px;font-size:33px}.social-line{padding-left:42px;padding-right:42px}}@media(max-width:360px){.hero{height:615px}.portrait{height:465px}h1{font-size:67px}.links{padding-left:19px;padding-right:19px}.card{gap:11px;padding:17px 12px}.title{font-size:24px}.description{font-size:12px}.icon{width:42px;height:44px}.specialty{font-size:9px}}@keyframes entrance{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes exit{to{opacity:0;transform:translateY(7px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.waiting{opacity:1;transform:none}.card:not(.waiting):hover{scale:1}}

/* Entrance belongs to a stable wrapper; hover only transforms the inner card. */
.card-slot{margin-bottom:16px;position:relative}
.card-slot .card{margin-bottom:0;scale:1;transform:scale(1);transform-origin:center;transition:transform 300ms cubic-bezier(.2,.65,.3,1),box-shadow 300ms ease;animation:none}
@media(hover:hover) and (pointer:fine){.card-slot:not(.waiting):hover>.card{transform:scale(1.025);box-shadow:0 10px 30px #0005}}
@media(prefers-reduced-motion:reduce){.card-slot:not(.waiting):hover>.card{transform:none}}
