:root{--bg:#0b1423;--panel:#111e31;--ink:#edf2f9;--muted:#acbacd;--line:#2a3850;--accent:#c6f277;--max:1180px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.skip{position:absolute;top:-80px;padding:12px;background:var(--accent);color:var(--bg);z-index:10}.skip:focus{top:8px}header{border-bottom:1px solid var(--line)}.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:25px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--accent)}nav{display:flex;align-items:center;gap:29px}nav a{font-size:14px;color:var(--muted)}nav a:hover,nav a[aria-current]{color:var(--accent)}.menu{display:none;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:6px}.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:2px;color:var(--accent);font-weight:700;margin:0 0 23px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6.2vw,80px);line-height:1.08;letter-spacing:-3px;font-weight:600;margin-bottom:28px;max-width:900px}h2{font-size:clamp(28px,3.5vw,43px);line-height:1.2;letter-spacing:-1.3px;font-weight:500}h3{font-size:23px;line-height:1.3;font-weight:500}.lead{color:var(--muted);font-size:19px;max-width:630px}.hero{padding:96px 0 72px}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:65px;align-items:center}.hero-grid h1{font-size:clamp(42px,5.8vw,74px)}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--accent);border:1px solid var(--accent);color:var(--bg);padding:13px 23px;border-radius:5px;font-size:15px;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.architecture{padding:32px;border:1px solid var(--line);border-radius:12px;background:var(--panel);transform:rotate(-2deg)}.architecture .label{font-size:12px;letter-spacing:2px;color:var(--muted)}.architecture .node{border:1px solid #43546e;padding:20px;margin-top:17px;border-radius:6px}.node strong{display:block;font-size:20px;font-weight:500}.node small{color:var(--muted);font-size:14px}.connector{border-left:1px solid var(--accent);height:23px;margin-left:27px}.architecture .node+.connector+.node{margin-top:0}.architecture .node:last-child{background:var(--accent);color:var(--bg)}.architecture .node:last-child small{color:#324126}.strip{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:14px}.strip strong{color:var(--ink);font-weight:500}.section{padding:72px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-head h2{margin:0}.text-link{color:var(--accent);font-size:15px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:30px}.card p{color:var(--muted)}.number{font-size:14px;color:var(--accent);display:block;margin-bottom:36px}.card h3{margin-bottom:15px}.card ul{padding-left:19px;color:var(--muted)}.card li{margin:10px 0}.project{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel);margin-bottom:25px}.project-art{background:#c6f277;color:var(--bg);min-height:300px;padding:45px;display:flex;flex-direction:column;justify-content:space-between}.project-art .monogram{font-size:76px;font-weight:700;letter-spacing:-6px;line-height:1}.project-art span{font-size:13px;letter-spacing:2px;text-transform:uppercase}.project-body{padding:38px}.project-body p{color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.tag{font-size:13px;border:1px solid var(--line);border-radius:4px;padding:4px 10px;color:var(--muted)}.cta{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:35px;padding:55px 0}.cta h2{margin-bottom:10px}.cta p{color:var(--muted);margin:0}footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer-row{padding:27px 0;display:flex;justify-content:space-between;gap:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px}.prose{color:var(--muted);font-size:18px}.facts{border-top:1px solid var(--line)}.fact{padding:23px 0;border-bottom:1px solid var(--line)}.fact small{display:block;color:var(--muted);font-size:14px}.skills{grid-template-columns:repeat(2,1fr)}.process{counter-reset:step}.process article{padding:25px 0;border-top:1px solid var(--line)}.process h3{margin-bottom:8px}.empty{border:1px solid var(--line);padding:36px;border-radius:8px;color:var(--muted)}label{display:block;margin-bottom:8px}input,textarea{width:100%;background:var(--panel);color:var(--ink);border:1px solid #51617b;border-radius:5px;padding:13px;margin-bottom:23px}textarea{min-height:165px;resize:vertical}.hint{font-size:14px;color:var(--muted)}.contact-links a{display:block;color:var(--accent);margin-bottom:18px;overflow-wrap:anywhere}.detail{max-width:790px}.detail section{border-top:1px solid var(--line);padding:35px 0}.detail p{color:var(--muted);font-size:18px}.back{display:inline-block;margin-bottom:30px;color:var(--muted)}[hidden]{display:none!important}noscript{display:block;padding:25px;color:var(--muted)}@media(max-width:850px){.hero-grid,.split{grid-template-columns:1fr;gap:40px}.architecture{transform:none;max-width:550px}.grid{grid-template-columns:1fr}.skills{grid-template-columns:1fr 1fr}.hero{padding:60px 0}.section{padding:50px 0}.menu{display:block}.nav{min-height:80px;flex-wrap:wrap;padding:18px 0}nav{display:none;width:100%;flex-direction:column;align-items:start;gap:0}nav.open{display:flex}nav a{padding:12px 0;width:100%}.strip{flex-wrap:wrap}.project{grid-template-columns:1fr}.project-art{min-height:230px}}@media(min-width:851px){nav{display:flex!important}}@media(max-width:520px){.wrap{width:calc(100% - 36px)}h1{letter-spacing:-1.8px}.skills{grid-template-columns:1fr}.cta,.section-head,.footer-row{align-items:start;flex-direction:column}.project-body,.project-art,.card{padding:25px}.hero-grid{gap:40px}.architecture{padding:23px}.strip{flex-direction:column;gap:9px}}@media(prefers-reduced-motion:no-preference){a,button{transition:color .15s,background .15s,filter .15s}}

/* Profile image and persistent contact shortcut. */
.portrait{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);max-width:440px;width:100%;justify-self:end}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}.portrait figcaption{padding:20px 24px}.portrait figcaption strong{display:block;font-size:22px;font-weight:500}.portrait figcaption span{color:var(--muted);font-size:14px}.portrait-about{max-width:330px;margin:0 0 30px;justify-self:start}.whatsapp-float{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:22px;z-index:20;display:flex;align-items:center;gap:10px;border:1px solid #61b982;border-radius:50px;background:#176a3c;color:#fff;padding:14px 18px;box-shadow:0 6px 22px #0005;font-weight:600;font-size:14px}.whatsapp-float:hover{background:#11552f}footer{padding-bottom:85px}@media(max-width:850px){.portrait{justify-self:start;max-width:400px}}@media(max-width:520px){.whatsapp-float{bottom:18px;right:18px;padding:15px}.whatsapp-float span{display:none}.portrait-about{max-width:100%}}
