@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap');
:root{--bg:#17171d;--bg2:#1e1e26;--bg3:#26262f;--bg4:#2e2e38;--line:#32323e;--line2:#3e3e4e;--txt:#ece9f0;--txt2:#9e9baa;--txt3:#5e5c6a;--orange:#c96820;--orange-lt:#e07c30;--orange-dim:#2a1a0a;--orange-gl:rgba(201,104,32,.12);--green:#3a7d5c;--green-dim:#0f2018;--serif:'Exo 2','Segoe UI',sans-serif;--sans:'IBM Plex Sans',system-ui,sans-serif;--max:1100px;--pad:clamp(1.25rem,5vw,3.5rem);--r:6px;--r-lg:12px;--ease:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--txt);line-height:1.7;font-size:1rem;overflow-x:hidden;background-image:url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 2 L58 17 L58 35 L30 50 L2 35 L2 17 Z' fill='none' stroke='%2320202a' stroke-width='1'/%3E%3C/svg%3E");background-size:60px 52px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}
ul,ol{list-style:none}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(23,23,29,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:62px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--serif);font-size:1.1rem;font-weight:500;letter-spacing:.04em;color:var(--txt);transition:color .2s}
.nav-logo span{color:var(--orange)}
.nav-logo:hover{color:var(--orange-lt)}
.nav-links{display:flex;align-items:center;gap:1.75rem}
.nav-links a{font-size:.875rem;font-weight:400;color:var(--txt2);letter-spacing:.02em;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-links a:hover{color:var(--txt)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a.active{color:var(--txt)}
.nav-cta{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border:1px solid var(--orange)!important;color:var(--orange)!important;border-radius:100px;font-size:.8125rem!important;font-weight:500!important;transition:background .2s,color .2s,transform .15s!important}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--orange)!important;color:var(--bg)!important;transform:translateY(-1px)}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:28px;cursor:pointer;padding:4px}
.nav-toggle span{display:block;height:1.5px;background:var(--txt);transition:transform .3s,opacity .3s}
.nav-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media(max-width:700px){.nav-toggle{display:flex}.nav-links{position:fixed;top:62px;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:1rem var(--pad) 1.5rem;transform:translateY(-120%);transition:transform .35s var(--ease);z-index:99}.nav-links.open{transform:none}.nav-links a{padding:.6rem 0;font-size:1rem;width:100%}.nav-cta{margin-top:.5rem}}
.page{padding-top:62px;animation:fadeUp .45s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero{position:relative;overflow:hidden;min-height:calc(100vh - 62px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:5rem var(--pad) 4rem;max-width:var(--max);margin:0 auto}
.hero::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(ellipse,rgba(201,104,32,.07) 0%,transparent 70%);pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:1.25rem}
.hero-eyebrow::before{content:'';width:20px;height:1px;background:var(--orange)}
.hero-headline{font-family:var(--serif);font-size:clamp(2.6rem,4.5vw,4rem);font-weight:300;line-height:1.1;letter-spacing:-.01em;color:var(--txt);margin-bottom:1.25rem}
.hero-headline em{font-style:italic;color:var(--orange)}
.hero-sub{font-size:1rem;color:var(--txt2);max-width:440px;line-height:1.75;margin-bottom:2.25rem}
.hero-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.5rem;border-radius:100px;font-size:.9rem;font-weight:500;letter-spacing:.02em;transition:all .2s;cursor:pointer}
.btn-primary{background:var(--orange);color:var(--bg);border:1px solid var(--orange)}
.btn-primary:hover{background:var(--orange-lt);border-color:var(--orange-lt);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,104,32,.3)}
.btn-ghost{background:transparent;color:var(--txt2);border:1px solid var(--line2)}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-1px)}
.hero-cards{display:flex;flex-direction:column;gap:.875rem}
.hcard{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.25rem;transition:border-color .3s,transform .3s}
.hcard:hover{border-color:var(--line2);transform:translateY(-2px)}
.hcard-label{font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3);margin-bottom:.25rem}
.hcard-val{font-size:.9rem;color:var(--txt)}
.hcard-val strong{color:var(--orange)}
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.stat{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);padding:.9rem 1.1rem;transition:border-color .3s,transform .3s}
.stat:hover{border-color:var(--orange);transform:translateY(-2px)}
.stat-n{font-family:var(--serif);font-size:1.75rem;font-weight:600;color:var(--orange);line-height:1;margin-bottom:.15rem}
.stat-l{font-size:.75rem;color:var(--txt3);line-height:1.4}
@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:auto;padding:4rem var(--pad) 3rem}.hero-cards{display:none}}
.divider{border:none;border-top:1px solid var(--line);margin:0}
.divider-section{border:none;border-top:1px solid var(--line)}
.section{padding:5.5rem var(--pad);max-width:var(--max);margin:0 auto}
.s-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:.875rem}
.s-tag::before{content:'';width:18px;height:1px;background:var(--orange)}
.s-title{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.8rem);font-weight:300;line-height:1.15;letter-spacing:-.01em;color:var(--txt);margin-bottom:1rem}
.s-title em{font-style:italic;color:var(--orange)}
.s-intro{font-size:1rem;color:var(--txt2);max-width:520px;line-height:1.75}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3rem}
.card{display:block;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .35s,transform .35s var(--ease),box-shadow .35s;position:relative;text-decoration:none}
.card:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 0 0 1px var(--orange),0 12px 36px rgba(201,104,32,.15)}
.card::before{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 32px 32px 0;border-color:transparent var(--orange) transparent transparent;opacity:0;transition:opacity .3s;z-index:1}
.card:hover::before{opacity:1}
.card-featured{grid-column:span 2}
.thumb{height:220px;overflow:hidden;background:var(--bg3);position:relative}
.card-featured .thumb{height:280px}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);filter:brightness(.85) saturate(.9)}
.card:hover .thumb img{transform:scale(1.04);filter:brightness(.95) saturate(1)}
.thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;inset:0}
.thumb-icon-wrap{width:52px;height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:rgba(201,104,32,.12);border:1px solid rgba(201,104,32,.25)}
.card-body{padding:1.25rem 1.375rem}
.card-tag{display:inline-block;font-size:.68rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--orange);background:var(--orange-dim);padding:.2rem .6rem;border-radius:100px;border:1px solid rgba(201,104,32,.2);margin-bottom:.625rem}
.card-title{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.25;color:var(--txt);margin-bottom:.4rem;letter-spacing:-.005em}
.card-desc{font-size:.8375rem;color:var(--txt3);line-height:1.6}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.375rem;border-top:1px solid var(--line)}
.card-year{font-size:.78rem;color:var(--txt3)}
.card-arrow{width:26px;height:26px;border-radius:50%;background:var(--bg3);border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--txt2);transition:background .2s,border-color .2s,color .2s,transform .2s}
.card:hover .card-arrow{background:var(--orange);border-color:var(--orange);color:var(--bg);transform:translate(2px,-2px)}
@media(max-width:640px){.grid{grid-template-columns:1fr}.card-featured{grid-column:span 1}.card-featured .thumb{height:220px}}
.skills-wrap{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.skills-inner{max-width:var(--max);margin:0 auto;padding:5rem var(--pad)}
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.skill-col h3{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.skill-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--txt2);padding:.25rem 0;transition:color .2s}
.skill-item::before{content:'▸';color:var(--orange);font-size:.6rem;flex-shrink:0}
.skill-item:hover{color:var(--txt)}
@media(max-width:680px){.skills-grid{grid-template-columns:1fr 1fr}}
.exp-list{margin-top:2.5rem;display:flex;flex-direction:column}
.exp-item{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:2.25rem 0;border-bottom:1px solid var(--line)}
.exp-item:last-child{border-bottom:none}
.exp-date{font-size:.78rem;color:var(--txt3);margin-bottom:.2rem;font-family:monospace}
.exp-co{font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--orange)}
.exp-role{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--txt);margin-bottom:.6rem}
.exp-desc{font-size:.9rem;color:var(--txt2);line-height:1.7;margin-bottom:.875rem}
.tags{display:flex;flex-wrap:wrap;gap:.35rem}
.tag{font-size:.72rem;padding:.2rem .55rem;background:var(--bg3);border:1px solid var(--line2);border-radius:100px;color:var(--txt3)}
@media(max-width:580px){.exp-item{grid-template-columns:1fr;gap:.4rem}}
.about-grid{display:grid;grid-template-columns:1fr 380px;gap:3.5rem;align-items:start;margin-top:2.5rem}
.about-text p{font-size:.9625rem;color:var(--txt2);line-height:1.8;margin-bottom:1.1rem}
.aside-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;margin-bottom:.875rem}
.aside-h{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--txt3);margin-bottom:.625rem}
.aside-card p{font-size:.875rem;color:var(--txt2);line-height:1.6}
.aside-list a,.aside-list span{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--txt2);padding:.3rem 0;transition:color .2s}
.aside-list a::before,.aside-list span::before{content:'→';color:var(--orange);font-size:.7rem;transition:transform .2s}
.aside-list a:hover{color:var(--orange)}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}}
.making-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}
.mcard{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .3s,transform .3s}
.mcard:hover{border-color:var(--orange);transform:translateY(-3px)}
.mcard-thumb{height:150px;display:flex;align-items:center;justify-content:center;font-size:2.25rem}
.mcard-body{padding:.875rem 1rem}
.mcard-body h4{font-size:.875rem;font-weight:500;color:var(--txt);margin-bottom:.2rem}
.mcard-body p{font-size:.78rem;color:var(--txt3);line-height:1.55}
.making-note{margin-top:2rem;padding:1.25rem 1.5rem;background:var(--bg2);border-left:2px solid var(--orange);border-radius:0 var(--r-lg) var(--r-lg) 0}
.making-note p{font-size:.9375rem;color:var(--txt2);line-height:1.7;font-style:italic}
.making-note p strong{color:var(--orange);font-style:normal}
@media(max-width:640px){.making-grid{grid-template-columns:1fr 1fr}}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;margin-top:2.5rem;align-items:start}
.contact-text p{font-size:.9625rem;color:var(--txt2);line-height:1.8;margin-bottom:1.1rem}
.contact-links{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}
.clink{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.1rem;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .2s,transform .2s}
.clink:hover{border-color:var(--orange);transform:translateX(4px)}
.clink-l{display:flex;align-items:center;gap:.75rem}
.clink-ico{font-size:1.1rem}
.clink-label{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--txt3)}
.clink-val{font-size:.9rem;color:var(--txt)}
.clink-arr{color:var(--orange);font-size:.8rem;transition:transform .2s}
.clink:hover .clink-arr{transform:translate(2px,-2px)}
.avail-box{background:var(--green-dim);border:1px solid rgba(58,125,92,.25);border-radius:var(--r-lg);padding:1.5rem}
.avail-dot{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:500;color:#5ab880;margin-bottom:.75rem}
.avail-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:#5ab880;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.avail-box h3{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--txt);margin-bottom:.5rem}
.avail-box p{font-size:.875rem;color:var(--txt2);line-height:1.6}
@media(max-width:680px){.contact-grid{grid-template-columns:1fr}}
.footer{background:var(--bg2);border-top:1px solid var(--line);padding:2rem var(--pad)}
.footer-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-brand{font-family:var(--serif);font-size:.95rem;color:var(--txt2)}
.footer-brand span{color:var(--orange)}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-size:.8125rem;color:var(--txt3);transition:color .2s}
.footer-links a:hover{color:var(--orange)}
.footer-copy{font-size:.75rem;color:var(--txt3)}
.case-hero{padding:4.5rem var(--pad) 3rem;max-width:var(--max);margin:0 auto}
.case-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--txt3);margin-bottom:1.5rem;transition:color .2s}
.case-back::before{content:'←';color:var(--orange)}
.case-back:hover{color:var(--orange)}
.case-hero h1{font-family:var(--serif);font-size:clamp(2.1rem,3.5vw,3.2rem);font-weight:300;line-height:1.15;letter-spacing:-.01em;color:var(--txt);margin-bottom:1.1rem;max-width:760px}
.case-hero h1 em{font-style:italic;color:var(--orange)}
.case-sub{font-size:1rem;color:var(--txt2);max-width:580px;line-height:1.75}
.case-meta{display:flex;flex-wrap:wrap;gap:2.5rem;padding:1.75rem var(--pad);max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.cm-label{font-size:.67rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--txt3);margin-bottom:.2rem}
.cm-val{font-size:.9rem;color:var(--txt)}
.case-body{max-width:720px;margin:0 auto;padding:3rem var(--pad) 5rem}
.case-body h2{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--txt);margin:2.5rem 0 .75rem;padding-top:2.25rem;border-top:1px solid var(--line)}
.case-body h2:first-child{margin-top:0;padding-top:0;border-top:none}
.case-body h2 em{color:var(--orange);font-style:italic}
.case-body h3{font-size:.95rem;font-weight:500;color:var(--orange);margin:1.25rem 0 .4rem;letter-spacing:.01em}
.case-body p{font-size:.9625rem;color:var(--txt2);line-height:1.8;margin-bottom:.875rem}
.case-body ul{margin:.4rem 0 1rem;display:flex;flex-direction:column;gap:.45rem}
.case-body li{font-size:.9625rem;color:var(--txt2);line-height:1.7;padding-left:1.25rem;position:relative}
.case-body li::before{content:'▸';position:absolute;left:0;color:var(--orange);font-size:.6rem;top:.45em}
.case-callout{background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:1.375rem 1.5rem;margin:1.5rem 0}
.case-callout h4{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem}
.case-callout li{color:var(--txt)}
.case-warning{background:rgba(201,104,32,.07);border:1px solid rgba(201,104,32,.2);border-radius:var(--r-lg);padding:1.25rem 1.375rem;margin:1.5rem 0}
.case-warning h4{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--orange);margin-bottom:.4rem}
.case-warning p{font-size:.9rem;margin:0}
.case-learning{background:var(--bg3);border:1px solid var(--line2);border-top:2px solid var(--orange);border-radius:var(--r-lg);padding:1.75rem;margin:1.75rem 0}
.case-learning h4{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem}
.case-learning li{color:var(--txt2)}
.case-nav{display:flex;justify-content:space-between;align-items:center;padding:1.75rem var(--pad);max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);background:var(--bg2)}
.case-nav-link{display:flex;flex-direction:column;gap:.2rem;max-width:220px}
.case-nav-label{font-size:.72rem;color:var(--txt3);letter-spacing:.04em}
.case-nav-title{font-size:.9rem;color:var(--orange);transition:opacity .2s}
.case-nav-title:hover{opacity:.8;text-decoration:underline}
.teaser{background:var(--bg2);border-top:1px solid var(--line);padding:3.5rem var(--pad)}
.teaser-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.teaser p{font-size:.9625rem;color:var(--txt2);max-width:480px;line-height:1.7}
.teaser p strong{color:var(--txt)}
