@font-face{font-family:"Space Grotesk";src:url("../assets/fonts/space-grotesk-variable.woff2") format("woff2-variations"),url("../assets/fonts/space-grotesk-variable.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url("../assets/fonts/inter-variable.woff2") format("woff2-variations"),url("../assets/fonts/inter-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#0a0b0b;--panel:#111312;--panel2:#171a18;--text:#f0f0e9;--muted:#a1a59e;--line:#2a2e2b;--accent:#d4b16a;--green:#8da38d;--max:1480px;--pad:clamp(20px,4vw,64px);--font-head:"Space Grotesk",Arial,"Helvetica Neue",sans-serif;--font-body:"Inter",Arial,"Helvetica Neue",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.55}h1,h2,h3,.brand,.button,.eyebrow{font-family:var(--font-head)}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50;background:rgba(10,11,11,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.13em}.site-header nav{display:flex;gap:28px}.site-header nav a{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:7px 12px}.hero{position:relative;min-height:calc(100svh - 72px);display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,8,.9) 0%,rgba(7,8,8,.55) 45%,rgba(7,8,8,.08) 75%),linear-gradient(0deg,rgba(7,8,8,.8),transparent 48%)}.hero-copy{position:relative;width:min(840px,86vw);padding:10vh var(--pad) 11vh}.eyebrow{margin:0 0 16px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.hero h1,.page-intro h1{font-size:clamp(44px,7vw,104px);line-height:.94;letter-spacing:-.045em;margin:0;max-width:11ch;font-weight:600}.hero-lead{max-width:650px;font-size:clamp(17px,1.6vw,23px);color:#d0d2cb;margin:28px 0 34px}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button{border:1px solid #5c625d;padding:13px 19px;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.button-primary{background:var(--text);color:#111;border-color:var(--text)}.text-link{font-size:13px;color:#d8d9d4}.hero-caption{position:absolute;right:var(--pad);bottom:28px;margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d5d6d1}.intro-strip{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.intro-strip p{padding:20px;text-align:center;margin:0;border-right:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.section{max-width:var(--max);margin:auto;padding:clamp(80px,10vw,150px) var(--pad)}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end;margin-bottom:60px}.section-heading h2,.commercial-band h2,.about h2,footer h2,.case-section h2,.technical-breakdown h2{font-size:clamp(34px,5vw,72px);line-height:1;letter-spacing:-.035em;margin:0;font-weight:500}.section-note{color:var(--muted);max-width:48ch}.project-stack{display:grid;gap:100px}.project-row>a{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,5vw,76px);align-items:center}.project-row:nth-child(even)>a{grid-template-columns:.65fr 1.35fr}.project-row:nth-child(even) .project-media{order:2}.project-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--panel)}.project-media img{height:100%;object-fit:cover;transition:transform .7s ease}.project-row:hover img{transform:scale(1.025)}.project-index{position:absolute;top:16px;left:16px;background:#0a0b0b;padding:6px 9px;font-size:11px;letter-spacing:.1em}.project-copy h3{font-size:clamp(34px,4vw,64px);line-height:1;margin:0 0 18px;letter-spacing:-.035em;font-weight:500}.project-copy>p{color:var(--muted);max-width:44ch}.project-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:14px;margin-top:30px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.media-placeholder{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:26px;background:linear-gradient(135deg,#171a18,#0f1110);color:var(--muted)}.media-placeholder span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.media-placeholder strong{font-size:clamp(28px,4vw,56px);font-weight:400;color:#373c38}.commercial-band{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:end;padding:80px var(--pad);background:#d8d4c8;color:#171817}.commercial-band .eyebrow{color:#66572f}.commercial-band h2{font-size:clamp(34px,4vw,62px)}.commercial-band p{max-width:48ch}.commercial-band .button{border-color:#77766f}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid p{font-size:18px}.muted{color:var(--muted)}footer{padding:100px var(--pad) 42px;background:var(--panel);border-top:1px solid var(--line)}footer h2{max-width:900px}.footer-links{display:flex;gap:12px;margin-top:40px}.footer-links a{border-bottom:1px solid var(--muted);padding:5px 0;margin-right:20px}.copyright{color:var(--muted);font-size:11px;margin-top:100px}.page-intro{padding:clamp(80px,12vw,180px) var(--pad);max-width:var(--max);margin:auto}.page-intro h1{max-width:13ch}.page-intro>p:last-child{max-width:650px;color:var(--muted);font-size:19px}.commercial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:70px 24px}.commercial-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#1a1e1b,#101210);display:flex;align-items:center;justify-content:center;color:#4b514c;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.commercial-thumb>img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.commercial-card:hover .commercial-thumb>img{transform:scale(1.03)}.commercial-thumb[data-carousel]{touch-action:pan-y;cursor:grab}.carousel-track{display:flex;width:100%;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1)}.carousel-slide{flex:0 0 100%;width:100%;height:100%}.carousel-slide img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:rgba(10,11,11,.55);color:var(--text);font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;transition:opacity .2s ease,background .2s ease}.carousel-arrow:hover{background:rgba(10,11,11,.8);opacity:1}.carousel-prev{left:12px}.carousel-next{right:12px}@media(hover:hover){.carousel-arrow{opacity:0}.commercial-thumb:hover .carousel-arrow{opacity:.9}.commercial-thumb .carousel-arrow:hover{opacity:1}}.carousel-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}.carousel-dot{width:6px;height:6px;border-radius:50%;border:none;background:rgba(240,240,233,.4);padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease}.carousel-dot.is-active{background:var(--accent);transform:scale(1.3)}.commercial-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:16px}.commercial-copy h2{font-size:22px;margin:0}.commercial-copy>p{font-size:13px;color:var(--muted);margin:0}.case-study{max-width:var(--max);margin:auto}.case-hero{position:relative;min-height:74svh;display:flex;align-items:flex-end;overflow:hidden}.case-hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.case-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,8,8,.9),transparent 58%)}.case-title{position:relative;z-index:2;padding:70px var(--pad);max-width:1000px}.case-title h1{font-size:clamp(60px,10vw,150px);line-height:.8;margin:0;letter-spacing:-.055em;font-weight:500}.case-title>p:last-child{font-size:20px;color:#d7d8d3;margin:28px 0 0}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.case-meta div{padding:25px;border-right:1px solid var(--line)}.case-meta span{display:block;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.1em;margin-bottom:7px}.case-meta strong{font-size:13px;font-weight:500}.case-section{padding:clamp(70px,9vw,130px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);border-bottom:1px solid var(--line)}.case-intro>div:last-child p,.impact>p,.problem-solution p{font-size:17px;color:var(--muted);max-width:55ch}.glance{display:block}.glance-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border:1px solid var(--line)}.glance-grid article{padding:24px;border-right:1px solid var(--line)}.glance-grid span{color:var(--accent);font-size:11px}.glance-grid h3{font-size:18px}.glance-grid p{color:var(--muted);font-size:13px}.full-media{margin:0 var(--pad);padding:30px 0 80px}.full-media p{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.problem-solution{background:var(--panel)}.problem-solution h2{font-size:clamp(30px,4vw,54px)}.technical-breakdown{padding:clamp(80px,10vw,150px) var(--pad)}.breakdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.diag-visual{aspect-ratio:4/3;background:radial-gradient(circle at 50% 55%,#38413b 0 22%,transparent 23%),linear-gradient(135deg,#242a26,#111412);border:1px solid #39423b;display:flex;align-items:flex-end;padding:16px}.diag-visual span{font-size:10px;letter-spacing:.12em;color:var(--green)}.diagnostic h3{font-size:20px}.diagnostic p{color:var(--muted);font-size:13px}.credits{margin:0 var(--pad);padding:30px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:30px;color:var(--muted);font-size:13px}.case-pagination{display:flex;justify-content:space-between;padding:70px var(--pad);font-size:12px;text-transform:uppercase;letter-spacing:.1em}code{color:#d6c08c}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--panel);padding:24px;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block}.hero-shade{background:linear-gradient(0deg,rgba(7,8,8,.95) 0%,rgba(7,8,8,.35) 75%)}.hero-copy{padding-bottom:100px}.hero-caption{left:var(--pad);right:auto}.intro-strip{grid-template-columns:1fr 1fr}.section-heading,.about-grid,.commercial-band,.case-section{grid-template-columns:1fr}.project-row>a,.project-row:nth-child(even)>a{grid-template-columns:1fr}.project-row:nth-child(even) .project-media{order:0}.commercial-grid{grid-template-columns:1fr}.commercial-copy{grid-template-columns:1fr}.case-meta,.glance-grid{grid-template-columns:1fr 1fr}.breakdown-grid{grid-template-columns:1fr}.credits{grid-template-columns:1fr}}@media(max-width:560px){.hero h1{font-size:43px}.hero-lead{font-size:16px}.intro-strip{grid-template-columns:1fr}.case-meta,.glance-grid{grid-template-columns:1fr}.case-title h1{font-size:58px}.section-heading h2{font-size:40px}}
.cv-intro-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}
.cv-section{margin-bottom:70px}
.cv-section:last-child{margin-bottom:0}
.cv-section>.eyebrow{display:block;margin-bottom:20px}
.cv-role{padding:26px 0;border-top:1px solid var(--line)}
.cv-role:first-child{border-top:none;padding-top:0}
.cv-role-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;align-items:baseline;margin-bottom:12px}
.cv-role-head h3{font-size:21px;margin:0;font-weight:500;font-family:var(--font-head)}
.cv-role-head span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap}
.cv-role-company{color:var(--accent);font-size:13px;margin:0 0 12px}
.cv-role p{color:var(--muted);font-size:15px;max-width:68ch;margin:0 0 12px}
.cv-role ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px}
.cv-role li{margin-bottom:5px}
.cv-early{padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.cv-early h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0 0 12px;font-weight:500}
.cv-early p{margin:0 0 8px}
.cv-skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 40px}
.cv-skills-grid div{border-top:1px solid var(--line);padding-top:14px}
.cv-skills-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 8px;font-weight:700}
.cv-skills-grid p{margin:0;color:var(--muted);font-size:14px}
.cv-links{display:flex;gap:16px;flex-wrap:wrap}
.cv-links a{border:1px solid var(--line);padding:12px 18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.cv-links a:hover{color:var(--text);border-color:var(--muted)}
@media(max-width:900px){.cv-skills-grid{grid-template-columns:1fr}}
.cv-page .page-intro{padding:clamp(50px,8vw,100px) var(--pad)}
.cv-page .case-meta div{padding:18px 25px}
.cv-page .section.cv-section{padding-top:clamp(40px,5vw,70px);padding-bottom:clamp(40px,5vw,70px)}
.cv-page .cv-section{margin-bottom:0}
.cv-page .section-heading{margin-bottom:32px}
.cv-page footer{padding-top:56px}
@media(max-width:900px){.cv-page .page-intro{padding-top:40px;padding-bottom:40px}.cv-page .section.cv-section{padding-top:32px;padding-bottom:32px}}
.brand{display:flex;align-items:center;gap:9px}
.brand-mark{width:20px;height:20px;flex:0 0 auto;display:block}
