@font-face{font-family:"Inter";src:url("fonts/Inter-Regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-SemiBold.woff") format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-Bold.woff") format("woff");font-weight:700 800;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/InterDisplay-Black.woff") format("woff");font-weight:900;font-display:swap}

:root{--ink:#16130E;--cream:#F0E8DB;--rust:#C8471E;--rust-light:#E0602F;--muted:#5C564C;--text:#3D3830;--line:#D9CFBF;--on-dark:#CFC7BA;--on-dark-muted:#A69E91}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--rust)}a:hover{color:#A5381A}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.dark{background:var(--ink);color:var(--cream)}
.dark a{color:var(--rust-light)}
.white{background:#fff}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--rust)}
.dark .eyebrow{color:var(--rust-light)}
h1,h2,h3{margin:0}
h1{font-weight:900;font-size:clamp(42px,6vw,80px);line-height:.98;letter-spacing:-.035em}
h2{font-weight:900;font-size:clamp(34px,4.5vw,60px);line-height:1;letter-spacing:-.03em}
h3{font-weight:800;font-size:clamp(22px,2.2vw,28px);line-height:1.15}
.accent{color:var(--rust)}.dark .accent{color:var(--rust-light)}
.lead{font-size:20px;color:var(--text);max-width:640px}
.dark .lead{color:var(--on-dark)}
.section{padding:104px 0}
.btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;font-weight:700;text-decoration:none;border-radius:2px;background:var(--rust);color:#fff!important}
.btn:hover{background:#A5381A}
.btn-ghost{background:transparent;border:1.5px solid currentColor;color:inherit!important}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-dark{background:var(--ink);color:var(--cream)!important}
.btns{display:flex;flex-wrap:wrap;gap:12px}
/* header */
.site-header{background:var(--ink);color:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid #2E2A24}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding-top:16px;padding-bottom:16px}
.logo{font-weight:900;font-size:24px;letter-spacing:-.02em;color:var(--cream)!important;text-decoration:none}
.logo span{color:var(--rust-light)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;font-size:15px;font-weight:600}
.nav a{color:var(--cream);text-decoration:none}
.nav a:hover,.nav a[aria-current]{color:var(--rust-light)}
.nav .btn{min-height:44px;padding:0 20px;font-size:15px}
/* hero */
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px;align-items:center;padding-top:64px;padding-bottom:96px}
.hero-text{display:flex;flex-direction:column;gap:28px}
.hero-img{height:600px;overflow:hidden;background:#040B10}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:60% 25%}
.page-hero .wrap{padding-top:72px;padding-bottom:72px;display:flex;flex-direction:column;gap:20px}
/* stats */
.stats{background:var(--rust);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px 40px;padding-top:40px;padding-bottom:40px}
.stat b{display:block;font-weight:900;font-size:48px;line-height:1;letter-spacing:-.03em}
.stat span{font-size:15px}
.clients .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;padding-top:32px;padding-bottom:32px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.clients{border-bottom:1px solid var(--line)}
/* cards */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:24px}
.card{background:#fff;padding:36px;display:flex;flex-direction:column;gap:14px}
.card .num{font-weight:900;font-size:20px;color:var(--rust)}
.card p{margin:0;color:var(--text)}
.card .small{font-size:15px;color:var(--muted)}
.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:2px;background:#2E2A24}
.project{background:var(--ink);padding:36px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--cream)!important}
a.project:hover{background:#1F1B15}
.project .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rust-light)}
.project .meta span:last-child{letter-spacing:0;text-transform:none;font-weight:400;color:var(--on-dark-muted);font-size:14px}
.project p{margin:0;color:var(--on-dark)}
.project .more{font-weight:700;color:var(--rust-light);font-size:15px}
.minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:2px;background:#2E2A24}
.mini{background:var(--ink);padding:24px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--cream)!important}
a.mini:hover{background:#1F1B15}
.mini span{font-size:15px;color:#BDB5A8}
/* talks */
.talks{display:flex;flex-wrap:wrap}
.talks-img{flex:1 1 520px;min-width:0;position:relative;min-height:640px;background:#040B10;display:flex;overflow:hidden}
.talks-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.talks-img .cap{position:relative;align-self:flex-end;padding:48px;color:#fff;display:flex;flex-direction:column;gap:12px}
.talks-img .cap .eyebrow{color:#FFC24D}
.talks-img .cap p{margin:0;font-size:17px;max-width:460px;color:var(--cream)}
.talks-text{flex:1 1 520px;min-width:0;padding:80px 56px;display:flex;flex-direction:column;gap:28px}
.list{border-top:1px solid var(--line)}
.item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)!important}
a.item:hover b{color:var(--rust)}
.item .n{font-weight:900;font-size:20px;color:var(--rust)}
.item b{display:block;font-size:21px;margin-bottom:4px}
.item span span{color:var(--text)}
/* profile */
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px}
.stack{display:flex;flex-direction:column;gap:22px}
.stack p{margin:0;color:var(--text)}
ul.clean{margin:0;padding-left:20px;color:var(--text);display:flex;flex-direction:column;gap:6px}
.quote{margin:0;padding:28px;background:var(--cream);display:flex;flex-direction:column;gap:12px}
.white .quote{background:var(--cream)}
.quote blockquote{margin:0;font-size:20px;line-height:1.45;font-weight:600}
.quote figcaption{font-size:14px;color:var(--muted)}
.placeholder{background:#E8DFD0;border:1px dashed #A69E91;min-height:320px;display:flex;align-items:flex-end;padding:20px;font-size:14px;color:var(--muted)}
.todo{background:#FFF3C4;padding:0 4px}
/* article */
.article{max-width:780px}
.article p{color:var(--text)}
.article h2{font-size:clamp(26px,3vw,36px);margin:40px 0 12px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:2px;background:var(--line);margin:32px 0}
.facts div{background:#fff;padding:20px}
.facts b{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
/* cta + footer */
.cta .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:48px;align-items:end;padding-top:104px;padding-bottom:104px}
.cta h2{font-size:clamp(38px,5.5vw,72px);line-height:.98}
.cta p{margin:0;font-size:19px;color:var(--on-dark)}
.cta .stack{gap:18px}
.site-footer{background:var(--ink);color:var(--on-dark-muted);border-top:1px solid #2E2A24;font-size:14px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;padding-bottom:28px}
.site-footer a{color:var(--on-dark-muted)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:20px}
@media (max-width:640px){.section{padding:72px 0}.talks-text{padding:56px 24px}.hero-img{height:420px}.talks-img{min-height:460px}.talks-img .cap{padding:24px}}
.projects>:last-child:nth-child(odd){grid-column:1/-1}
