:root{--yellow: #F5E97A;--yellow-light: #FBF5C0;--yellow-dim: rgba(245,233,122,.12);--black: #0A0A0A;--dark: #111111;--gray: #1A1A1A;--gray-mid: #2A2A2A;--gray-light: #888888;--white: #F8F6EE;--font-display: "Syne", sans-serif;--font-serif: "Cormorant Garamond", serif;--font-mono: "DM Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--black);color:var(--white);font-family:var(--font-display);overflow-x:hidden;cursor:none}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--black)}::-webkit-scrollbar-thumb{background:var(--yellow)}.cursor{position:fixed;width:10px;height:10px;background:var(--yellow);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .15s,height .15s}.cursor-follower{position:fixed;width:32px;height:32px;border:1px solid rgba(245,233,122,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .12s ease}#nav{position:fixed;top:0;left:0;right:0;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;z-index:1000;mix-blend-mode:difference}.nav-logo{font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--white);text-decoration:none;text-transform:uppercase}.nav-burger{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer}.nav-burger span{display:block;width:24px;height:2px;background:var(--white)}.nav-links{display:flex;gap:32px;list-style:none;align-items:center}.nav-links a{text-decoration:none;color:var(--white);font-size:14px;text-transform:uppercase;letter-spacing:.05em;opacity:.6;transition:opacity .3s}.nav-links a:hover,.nav-links a.active{opacity:1}.nav-cta{border:1px solid var(--white);padding:8px 16px;border-radius:2px}.nav-cta:hover{background:var(--white);color:var(--black);opacity:1}@media (max-width: 768px){#nav{padding:20px}.nav-burger{display:flex;z-index:1002}.nav-links{position:fixed;top:0;right:0;bottom:0;width:80%;max-width:300px;background:var(--dark);flex-direction:column;justify-content:center;transform:translate(100%);transition:transform .4s ease;z-index:1001;padding:40px}.nav-links.open{transform:translate(0)}}#hero{height:100vh;width:100%;position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 48px}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 70% 30%,#1a1a1a,#0a0a0a 60%);z-index:-2}.hero-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--gray-mid) 1px,transparent 1px),linear-gradient(90deg,var(--gray-mid) 1px,transparent 1px);background-size:100px 100px;opacity:.1;z-index:-1}.hero-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:30vw;font-weight:800;color:#ffffff05;z-index:-1;pointer-events:none;user-select:none}.hero-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--gray-light);margin-bottom:24px}.hero-title{font-size:clamp(48px,8vw,120px);line-height:.9;text-transform:uppercase;font-weight:800;letter-spacing:-.02em;margin-bottom:40px}.hero-title .highlight{-webkit-text-stroke:1px var(--white);color:transparent}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:40px;margin-top:40px}.hero-desc{font-family:var(--font-serif);font-size:24px;line-height:1.4;font-weight:300;max-width:600px;color:var(--gray-light)}.hero-actions{display:flex;gap:24px;align-items:center}.btn-primary{display:inline-block;padding:16px 32px;background:var(--white);color:var(--black);text-decoration:none;font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:.05em;transition:transform .2s}.btn-primary:hover{transform:scale(1.02)}.btn-secondary{color:var(--white);text-decoration:none;text-transform:uppercase;font-size:14px;letter-spacing:.1em;border-bottom:1px solid var(--white);padding-bottom:4px;transition:opacity .2s}.btn-secondary:hover{opacity:.7}.badge-dispo{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--yellow);text-transform:uppercase;letter-spacing:.1em}.badge-dispo:before{content:"";display:block;width:8px;height:8px;background:var(--yellow);border-radius:50%;box-shadow:0 0 10px var(--yellow)}section{padding:120px 48px;position:relative}.section-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--yellow);margin-bottom:32px;display:flex;align-items:center;gap:12px}.section-label:before{content:"";display:block;width:40px;height:1px;background:var(--yellow)}.section-title{font-size:clamp(32px,5vw,64px);line-height:1.1;font-weight:700;margin-bottom:60px;text-transform:uppercase}.section-title em{font-family:var(--font-serif);font-weight:300;font-style:italic;color:var(--gray-light)}.divider{height:1px;background:var(--gray-mid);width:100%}#about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-text{font-family:var(--font-serif);font-size:20px;font-weight:300;line-height:1.6;color:var(--gray-light);margin-bottom:40px}.about-text strong{color:var(--white);font-weight:400}.stat-item{border-bottom:1px solid var(--gray-mid);padding:24px 0;display:flex;align-items:baseline;justify-content:space-between}.stat-number{font-size:48px;font-weight:800;color:var(--yellow);line-height:1}.stat-label{text-align:right;font-size:14px;color:var(--gray-light);text-transform:uppercase}#proof{background:var(--dark)}.proof-inner{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:center}.proof-text{font-family:var(--font-serif);font-size:18px;line-height:1.6;color:var(--gray-light)}.kg-card{background:var(--black);padding:32px;border:1px solid var(--gray-mid);position:relative;font-family:system-ui,-apple-system,sans-serif}.kg-card-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.kg-img{width:64px;height:64px;background-color:var(--gray-mid);background-image:url(/images/john-mingam-kg-v2.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:4px}.kg-title{font-size:20px;font-weight:600;color:#fff}.kg-desc{font-size:14px;color:#aaa;line-height:1.5;margin-bottom:16px}.kg-attr{font-size:13px;color:#ccc;margin-bottom:8px;display:flex;gap:8px}.kg-attr span{color:#888}.sft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}.sft-card{background:var(--gray);padding:32px;border:1px solid var(--gray-mid);transition:transform .3s;display:flex;flex-direction:column;gap:16px}.sft-card:hover{transform:translateY(-5px);border-color:var(--yellow)}.sft-letter{font-size:48px;font-weight:800;color:var(--yellow);line-height:1}.sft-nav{font-size:14px;text-transform:uppercase;font-weight:600;letter-spacing:.1em}.sft-desc{font-size:14px;color:var(--gray-light);line-height:1.5}.methode-cta{text-align:center;margin-top:40px}.projects-list{display:flex;flex-direction:column}.project-item{border-top:1px solid var(--gray-mid);padding:40px 0;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.project-item:hover{background:var(--gray);padding-left:20px;padding-right:20px}.project-left{display:flex;gap:32px;align-items:baseline}.project-num{font-family:var(--font-mono);color:var(--yellow);font-size:12px}.project-name{font-size:32px;font-weight:700;text-transform:uppercase}.project-tags{font-family:var(--font-mono);font-size:12px;color:var(--gray-light);text-transform:uppercase}.contact-strip-inner{background:var(--yellow);color:var(--black);padding:60px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:32px}.contact-strip-text h3{font-size:32px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.contact-strip-text p{font-family:var(--font-serif);font-size:20px;opacity:.8}.contact-strip-inner .btn-primary{background:var(--black);color:var(--white);border:none}footer{padding:60px 48px;border-top:1px solid var(--gray-mid);display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;color:var(--gray-light);letter-spacing:.05em}.footer-logo{color:var(--white);font-weight:800}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--gray-light);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--white)}.page-hero{padding:160px 48px 80px;background:var(--dark)}.page-hero-label{font-family:var(--font-mono);font-size:12px;color:var(--yellow);text-transform:uppercase;letter-spacing:.15em;margin-bottom:24px}.page-hero h1{font-size:clamp(48px,6vw,96px);line-height:.95;font-weight:800;text-transform:uppercase;margin-bottom:32px}.page-hero h1 em{font-family:var(--font-serif);font-weight:300;color:var(--gray-light)}.page-hero-desc{font-family:var(--font-serif);font-size:24px;font-weight:300;line-height:1.5;color:var(--gray-light);max-width:600px}.skills-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.skill-tag{font-size:13px;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;border:1px solid var(--gray-mid);color:#ccc}.skill-tag.core{border-color:var(--yellow);color:var(--yellow)}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px;margin-top:60px}.book-card{display:flex;gap:24px;align-items:flex-start}.book-cover{width:120px;flex-shrink:0;background:var(--gray);aspect-ratio:2/3;position:relative;border:1px solid var(--gray-mid)}.book-wip{position:absolute;top:0;left:0;background:var(--yellow);color:var(--black);font-size:10px;font-weight:800;padding:4px 8px;text-transform:uppercase}.book-cover-inner{padding:16px;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:center}.book-cover-title{font-family:var(--font-display);font-weight:800;font-size:11px;text-transform:uppercase;line-height:1.1;margin:12px 0}.book-cover-line{height:1px;width:20px;background:var(--white);margin:0 auto}.book-cover-author{font-size:10px;margin-top:auto;text-transform:uppercase;color:#888}.book-info{flex:1}.book-status{font-family:var(--font-mono);font-size:10px;color:var(--yellow);text-transform:uppercase;margin-bottom:8px}.book-title{font-size:24px;font-weight:700;margin-bottom:12px;line-height:1.1}.book-desc{font-family:var(--font-serif);font-size:16px;line-height:1.5;color:var(--gray-light);margin-bottom:16px}.book-tags{display:flex;flex-wrap:wrap;gap:8px}.book-tag{font-family:var(--font-mono);font-size:10px;border:1px solid var(--gray-mid);padding:4px 8px;color:#888;text-transform:uppercase}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:40px;margin-top:60px}.blog-card{display:flex;flex-direction:column;gap:16px;padding:32px;background:var(--gray);border:1px solid var(--gray-mid);text-decoration:none;transition:transform .2s,border-color .2s}.blog-card:hover{transform:translateY(-4px);border-color:var(--yellow-dim)}.blog-date{font-family:var(--font-mono);font-size:11px;color:var(--gray-light);text-transform:uppercase}.blog-cat{font-family:var(--font-mono);font-size:11px;color:var(--yellow);text-transform:uppercase;margin-top:4px}.blog-title{font-size:24px;font-weight:700;line-height:1.2;color:var(--white)}.blog-excerpt{font-family:var(--font-serif);font-size:16px;line-height:1.5;color:var(--gray-light)}.blog-read{margin-top:auto;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--white);border-bottom:1px solid var(--gray-mid);align-self:flex-start;padding-bottom:2px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.form-group{margin-bottom:24px;display:flex;flex-direction:column;gap:8px}.form-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-light)}.form-input{background:var(--gray);border:1px solid var(--gray-mid);color:var(--white);padding:16px;font-family:var(--font-serif);font-size:18px;width:100%;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--yellow)}.form-select{appearance:none;border-radius:0}textarea.form-input{min-height:120px;resize:vertical}.contact-detail-item{margin-bottom:32px}.contact-detail-label{font-family:var(--font-mono);font-size:11px;color:var(--gray-light);text-transform:uppercase;margin-bottom:8px}.contact-detail-value{font-size:24px;font-weight:300;font-family:var(--font-serif);color:var(--white)}.contact-detail-sub{font-size:14px;color:#666;margin-top:4px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 900px){#about,.proof-inner,.contact-grid{grid-template-columns:1fr;gap:40px}.sft-grid{grid-template-columns:1fr}.hero-title{font-size:48px}}.sft-full-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.sft-full-card{background:var(--gray);padding:40px;border:1px solid var(--gray-mid)}.sft-full-letter{font-size:64px;font-weight:800;color:var(--yellow);line-height:1;margin-bottom:16px}.sft-full-name{font-size:24px;text-transform:uppercase;font-weight:700;margin-bottom:16px}.sft-full-desc{font-family:var(--font-serif);font-size:18px;color:var(--gray-light);line-height:1.6;margin-bottom:24px}.sft-bullets{list-style:none;padding-left:0}.sft-bullets li{position:relative;padding-left:20px;margin-bottom:12px;font-family:var(--font-mono);font-size:12px;color:#bbb}.sft-bullets li:before{content:">";position:absolute;left:0;color:var(--yellow)}
