/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/instrument-serif-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/instrument-serif-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{color-scheme:dark;--bg:#080a0e;--surface:#101318;--ink:#f5f5f7;--muted:#979ba7;--line:#252a34;--blue:#345aff;--font:'DM Sans',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;font-family:var(--font);background:var(--bg);color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid #9bb3ff;outline-offset:6px}::selection{background:#345aff;color:white}p,h1,h2,h3{margin:0}a,button{touch-action:manipulation}.site-shell{max-width:1800px;margin:auto}.header{height:108px;margin:0 5%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:3.3rem}.wordmark{font-size:2.8rem;font-weight:700;letter-spacing:-.085em;line-height:1}.wordmark span{color:#5275ff}.header-note{font-size:.8125rem;color:var(--muted)}nav{display:flex;align-items:center;gap:2.5rem;margin-left:auto;font-size:.875rem}nav a{transition:color .2s}nav a:hover{color:#99adff}.nav-contact{border:1px solid #454954;padding:.8rem 1.25rem;border-radius:100px}.nav-contact span{margin-left:1.2rem}.hero{position:relative;min-height:730px;display:flex;flex-direction:column;padding:102px 5% 32px;overflow:hidden;isolation:isolate}.hero-grid{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 86% 45%,#142a692e,transparent 65%)}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:.8125rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.small-line{width:26px;height:1px;background:#7290ff}.hero .eyebrow{color:#c1c6d2;margin-bottom:34px}h1{font-size:clamp(3.5rem,6.8vw,7.35rem);letter-spacing:-.062em;line-height:1.035;font-weight:500;max-width:1100px}.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.035em}.hero-description{color:#b1b5c2;font-size:1.0625rem;line-height:1.65;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:1rem 1.5rem;font-size:.9375rem;font-weight:500;border-radius:100px;min-height:54px;transition:background .2s,transform .2s}.button-primary{margin-top:32px;background:var(--ink);color:#11141a}.button:hover{transform:translateY(-2px)}.button-primary:hover{background:#cdd8ff}.button span{font-size:1.2rem}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:70px;font-size:.75rem;line-height:1.6;color:#818794}.hero-index{display:flex;align-items:center;gap:16px}.hero-index>span:first-child{color:#c0c6d3}.index-track{width:76px;height:1px;background:linear-gradient(to right,#88a2ff 50%,#363b46 50%)}.scroll-link{display:flex;gap:20px;align-items:center}.scroll-link span{color:var(--ink);font-size:1.2rem}.section{margin:0 5%;padding:88px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-caption{font-size:.875rem;color:var(--muted)}h2{font-size:clamp(2.5rem,4.2vw,4.7rem);line-height:1.1;letter-spacing:-.05em;font-weight:450}.expertise h2{margin-top:41px}.muted{color:#7e8491}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line)}.service{padding:32px 34px 0 0;position:relative}.service+.service{border-left:1px solid var(--line);padding-left:34px}.service-number{font-size:.75rem;color:#738df7}.service h3{font-size:1.65rem;font-weight:500;letter-spacing:-.04em;margin-top:22px}.service>p:not(.service-tag){font-size:1rem;color:var(--muted);line-height:1.7;margin-top:17px;max-width:320px}.service-tag{font-size:.8125rem;margin-top:30px;color:#c6cad4}.work{padding-bottom:80px}.work-status{font-size:.8125rem;color:#a0a7b7;border:1px solid #363d4c;border-radius:50px;padding:8px 14px}.work-inner{display:flex;justify-content:space-between;align-items:flex-end;margin-top:43px;gap:30px}.work h2 .serif{color:#a5b7ff}.work-inner>p{color:var(--muted);line-height:1.8;font-size:1rem;padding-bottom:8px}.contact{padding-top:83px;padding-bottom:92px;position:relative}.contact h2{font-size:clamp(3.5rem,6.8vw,7.35rem);margin-top:38px;line-height:1.01}.contact h2 .serif{color:#99adff}.contact-description{color:var(--muted);font-size:1rem;margin-top:28px;line-height:1.7}.footer{display:flex;align-items:center;gap:36px;margin:0 5%;padding:35px 0 40px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.footer .wordmark{font-size:2rem;color:var(--ink)}.footer>p:nth-of-type(2){margin-left:auto}.back-top{margin-left:40px}.back-top span{margin-left:12px;color:var(--ink)}.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--ink);color:var(--bg);padding:12px 20px;transform:translateY(-150%);border-radius:8px}.skip-link:focus{transform:translateY(0)}
@media(min-width:1600px){.hero{min-height:850px;padding-top:120px}}
@media(max-width:900px){.header-note{display:none}.header{height:90px}.hero{min-height:690px;padding-top:88px}h1{font-size:clamp(3.4rem,8.3vw,5.6rem)}.hero-index{display:none}.service{padding-right:22px}.service+.service{padding-left:22px}.section{padding-top:68px;padding-bottom:68px}.work-inner{align-items:flex-start;flex-direction:column}.footer{gap:22px}.back-top{margin-left:10px}}
@media(max-width:600px){.header{margin:0 6%;height:84px;gap:20px}.wordmark{font-size:2.35rem}nav{gap:18px;font-size:.8125rem}.nav-contact{padding:10px 13px}.nav-contact span{margin-left:7px}.hero{padding:77px 6% 28px;min-height:685px}.hero .eyebrow{margin-bottom:29px;font-size:.75rem}h1{font-size:clamp(3rem,10.5vw,4rem);letter-spacing:-.065em}.hero-description{font-size:1rem;margin-top:27px}.hero-bottom{font-size:.75rem;padding-top:100px}.scroll-link{gap:10px}.section{margin:0 6%;padding:54px 0}.section-top{align-items:flex-start;gap:15px}.section-caption{max-width:125px;font-size:.75rem;text-align:right;line-height:1.6}.eyebrow{font-size:.75rem}.expertise h2{margin-top:34px}.services{grid-template-columns:1fr;margin-top:32px}.service,.service+.service{border-left:0;padding:25px 0}.service+.service{border-top:1px solid var(--line)}.service-number{position:absolute;right:0;top:30px}.service h3{margin-top:0;font-size:1.6rem}.service>p:not(.service-tag){max-width:100%;margin-top:13px}.service-tag{margin-top:17px}.service:last-child{padding-bottom:0}.work-status{font-size:.75rem;padding:6px 10px}.work-inner{margin-top:33px;gap:25px}.contact h2{font-size:3.8rem;margin-top:34px}.contact-description{max-width:280px}.footer{margin:0 6%;flex-wrap:wrap;gap:25px 20px;padding:28px 0}.footer>p:first-of-type{font-size:.75rem;flex:1;text-align:right}.footer>p:nth-of-type(2){margin-left:0;flex:1}.back-top{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Original hero artwork, layered behind readable copy. */
.hero-art{position:absolute;z-index:-2;top:0;right:-9%;width:85%;height:100%;object-fit:cover;object-position:center;opacity:.94;pointer-events:none;animation:art-enter 1.5s ease-out both}
.hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#080a0e 0%,#080a0ef5 21%,#080a0e70 47%,#080a0e00 70%),linear-gradient(0deg,#080a0e 0%,#080a0e00 21%,#080a0e00 87%,#080a0e7a 100%);pointer-events:none}
.hero-copy{animation:copy-enter .85s ease-out both}.hero-bottom{position:relative;z-index:1}.hero-description{color:#bfc5d2}.contact-email{display:inline-flex;align-items:center;gap:60px;margin-top:32px;padding-bottom:12px;border-bottom:1px solid #657291;font-size:clamp(1.5rem,3vw,2.6rem);letter-spacing:-.035em;transition:color .2s,border-color .2s}.contact-email:hover{color:#a5b7ff;border-color:#a5b7ff}.contact-email span{font-size:1.8rem}
@keyframes art-enter{from{opacity:0;transform:translateX(20px)}to{opacity:.94;transform:translateX(0)}}
@keyframes copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.hero-art{width:110%;right:-22%;opacity:.75}.hero-shade{background:linear-gradient(90deg,#080a0ef5 0%,#080a0ec4 28%,#080a0e22 75%),linear-gradient(0deg,#080a0e 0%,#080a0e00 28%)}}
@media(max-width:600px){.hero-art{top:155px;right:-30%;width:115%;height:550px;object-fit:cover;object-position:60% center;opacity:.55}.hero-shade{background:linear-gradient(90deg,#080a0eef 0%,#080a0e70 58%,#080a0e00),linear-gradient(0deg,#080a0e 0%,#080a0e10 30%,#080a0e75 58%,#080a0e 90%)}.hero-description{position:relative}.hero-bottom>p{max-width:145px}.hero-bottom{padding-top:115px}.contact-email{gap:42px}.footer>p:nth-of-type(2){font-size:.75rem}.header nav{gap:17px}}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-copy{animation:none}}

@media(max-width:600px){.header{height:auto;min-height:84px;padding:18px 0}nav{font-size:.875rem}.nav-contact{white-space:nowrap}}
@media(max-width:360px){.header{gap:12px}.header nav{gap:10px}.nav-contact{padding:10px}.nav-contact span{display:none}}

/* Keep the broader studio introduction within the original text area. */
.hero-description{max-width:34rem}
/* Give the founder line its own row beside the mark on small screens. */
@media(max-width:600px){.footer>.wordmark{flex-shrink:0}.footer>p:first-of-type{flex:1 1 calc(100% - 5rem);line-height:1.5}.footer .back-top{white-space:nowrap}}
