:root{--font:"DM Sans", system-ui, -apple-system, sans-serif;--font-serif:"DM Serif Display", Georgia, serif;--bg:#faf9f7;--bg-dark:#1b1b2f;--bg-muted:#f2f0ec;--border:#e8e6e1;--text:#555;--text-dim:#999;--text-heading:#1b1b2f;--white:#fff;--copper:#bf7a4a;--sage:#6b8f71;--slate:#5b7893;--max-w:960px;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.7}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.name-banner{text-align:center;border-bottom:1px solid var(--text-heading);padding:2rem 2rem 1.5rem;animation:.6s ease-out both fadeUp}.name-banner h1{font-family:var(--font-serif);color:var(--text-heading);letter-spacing:.02em;font-size:clamp(3rem,9vw,7rem);font-weight:400;line-height:1}.name-banner-sub{max-width:var(--max-w);text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);justify-content:space-between;align-items:baseline;margin:.5rem auto 0;font-size:.65rem;font-weight:600;display:flex}.nav{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#faf9f7f2;position:sticky;top:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.nav-inner{max-width:var(--max-w);justify-content:center;align-items:center;gap:2.5rem;margin:0 auto;padding:1rem 2rem;display:flex;position:relative}.nav-links{gap:2.5rem;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.1em;color:var(--text-heading);font-size:.78rem;font-weight:600;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--copper);width:0;height:1.5px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--copper)}.nav-links a:hover:after{width:100%}.nav-cta{text-transform:uppercase;letter-spacing:.1em;color:var(--copper);font-size:.78rem;font-weight:700;transition:opacity .3s;position:absolute;right:2rem}.nav-cta:hover{opacity:.7}.container{max-width:var(--max-w);margin:0 auto;padding:0 2rem}.section{padding:6rem 0}.section-label{text-transform:uppercase;letter-spacing:.18em;color:var(--copper);margin-bottom:1.5rem;font-size:.68rem;font-weight:600;display:block}.section-heading{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:2rem;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;line-height:1.2}.hero{max-width:var(--max-w);border:1px solid var(--border);border-top:none;grid-template-columns:1fr 1fr;min-height:70vh;margin:0 auto;animation:.7s ease-out .2s both fadeUp;display:grid;overflow:hidden}.hero-content{flex-direction:column;justify-content:center;padding:3.5rem 3rem;display:flex}.hero-title{font-family:var(--font-serif);color:var(--text-heading);letter-spacing:-.01em;margin-bottom:2rem;font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:400;line-height:1.05}.hero-subtitle{text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);max-width:340px;margin-bottom:2.5rem;font-size:.75rem;font-weight:600;line-height:1.8}.hero-subtitle .typed{color:var(--copper)}.hero-cta{text-align:center;background:var(--copper);width:100%;max-width:320px;color:var(--white);font-size:.8rem;font-weight:700;font-family:var(--font);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:none;padding:1rem;transition:background .3s,box-shadow .3s;display:block}.hero-cta:hover{background:#a8653a;box-shadow:0 4px 20px #bf7a4a40}.hero-photo-col{position:relative;overflow:hidden}.hero-photo{object-fit:cover;object-position:center 15%;filter:grayscale(.85)contrast(1.05);width:100%;height:100%;transition:filter .5s,transform .5s}.hero-photo:hover{filter:grayscale(0)contrast();transform:scale(1.02)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(32px)}.reveal.revealed{opacity:1;transform:translateY(0)}.btn{font-size:.85rem;font-weight:600;font-family:var(--font);cursor:pointer;border:1px solid;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.6rem;transition:all .3s;display:inline-flex}.btn-dark{background:var(--text-heading);color:var(--white);border-color:var(--text-heading)}.btn-dark:hover{background:#2d2d48;transform:translateY(-1px);box-shadow:0 4px 16px #1b1b2f26}.btn-outline{color:var(--text-heading);border-color:var(--border);background:0 0}.btn-outline:hover{border-color:var(--text-heading);transform:translateY(-1px)}.about-content{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.about-content p{margin-bottom:1.25rem;font-size:1.05rem;line-height:1.85}.about-content p:last-child{margin-bottom:0}.about-stats{flex-direction:column;gap:1.5rem;padding-top:.5rem;display:flex}.stat-item{border-left:2px solid var(--copper);padding-left:1.25rem}.stat-item .stat-number{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:.25rem;font-size:2rem;line-height:1}.stat-item .stat-desc{color:var(--text-dim);font-size:.82rem}.skills-wrap{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-heading);border-radius:999px;padding:.55rem 1.1rem;font-size:.82rem;font-weight:500;transition:all .25s}.skill-tag:hover{background:var(--text-heading);color:var(--white);border-color:var(--text-heading);transform:translateY(-2px)}.exp-list{flex-direction:column;gap:1rem;display:flex}.exp-card{background:var(--bg-muted);border:1px solid var(--border);border-left:3px solid var(--copper);border-radius:0 12px 12px 0;grid-template-rows:auto auto;grid-template-columns:48px 1fr;gap:0 1.5rem;padding:1.75rem 2rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:grid}.exp-card:hover{border-left-color:var(--sage);transform:translateY(-3px);box-shadow:0 8px 28px #0000000f}.exp-index{font-family:var(--font-serif);color:var(--border);grid-row:1/-1;padding-top:.15rem;font-size:1.6rem;font-weight:400;line-height:1;transition:color .3s}.exp-card:hover .exp-index{color:var(--copper)}.exp-header{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.6rem;display:flex}.exp-header h3{font-family:var(--font-serif);color:var(--text-heading);font-size:1.1rem;font-weight:400}.exp-company{color:var(--copper);font-size:.8rem;font-weight:600}.exp-date{color:var(--text-dim);margin-left:auto;font-size:.75rem;font-weight:500}.exp-points{flex-direction:column;grid-column:2;gap:.25rem;padding:0;list-style:none;display:flex}.exp-points li{color:var(--text);padding-left:1rem;font-size:.88rem;line-height:1.7;position:relative}.exp-points li:before{content:"";background:var(--copper);opacity:.4;border-radius:50%;width:5px;height:5px;position:absolute;top:.6rem;left:0}.edu-row{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.edu-item{background:var(--bg-muted);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:transform .3s,box-shadow .3s}.edu-item:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.edu-date{text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:.5rem;font-size:.7rem;font-weight:600}.edu-item h3{font-family:var(--font-serif);color:var(--text-heading);margin-bottom:.2rem;font-size:1rem;font-weight:400}.edu-item .school{color:var(--text-dim);font-size:.82rem}.edu-item .edu-detail{color:var(--text);margin-top:.5rem;font-size:.78rem;line-height:1.6}.project-list{flex-direction:column;gap:1.5rem;display:flex}.project-card{border:1px solid var(--border);border-radius:20px;grid-template-columns:1fr 1fr;min-height:240px;transition:transform .35s,box-shadow .35s;display:grid;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #00000014}.project-card.reverse{direction:rtl}.project-card.reverse>*{direction:ltr}.project-visual{justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}.project-visual:before{content:"";background:inherit;opacity:.15;filter:blur(40px);position:absolute;inset:0}.project-visual .project-icon{z-index:1;filter:drop-shadow(0 4px 12px #00000026);font-size:3.5rem;transition:transform .4s;position:relative}.project-card:hover .project-icon{transform:scale(1.15)translateY(-4px)}.project-body{background:var(--bg-dark);flex-direction:column;justify-content:center;padding:2.5rem;display:flex}.project-status{text-transform:uppercase;letter-spacing:.1em;border-radius:4px;width:fit-content;margin-bottom:.75rem;padding:.25rem .65rem;font-size:.65rem;font-weight:600;display:inline-block}.project-status.live{color:#a3c9a8;background:#6b8f7133}.project-status.building{color:#d4976a;background:#bf7a4a33}.project-status.planned{color:#fff6;background:#ffffff14}.project-body h3{font-family:var(--font-serif);color:var(--white);margin-bottom:.5rem;font-size:1.4rem;font-weight:400;line-height:1.25}.project-body p{color:#ffffff80;font-size:.88rem;line-height:1.7}.section-dark{background:var(--bg-dark);margin-top:2rem;padding:6rem 0}.section-dark .section-label{color:#ffffff4d}.section-dark .section-heading{color:var(--white);margin-bottom:1rem}.contact-desc{color:#ffffff73;max-width:480px;margin-bottom:2.5rem;font-size:1rem;line-height:1.8}.contact-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.contact-link{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;gap:.5rem;padding:1.5rem;transition:all .3s;display:flex}.contact-link:hover{background:#ffffff14;border-color:#ffffff1f;transform:translateY(-2px)}.contact-link .c-label{text-transform:uppercase;letter-spacing:.1em;color:#ffffff4d;font-size:.68rem;font-weight:600}.contact-link .c-value{color:var(--white);font-size:.95rem;font-weight:500}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.5rem;display:none}.ham-line{background:var(--text-heading);border-radius:2px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.ham-line.open:first-child{transform:translateY(7px)rotate(45deg)}.ham-line.open:nth-child(2){opacity:0}.ham-line.open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.footer{border-top:1px solid var(--border);padding:3rem 2rem 2rem}.footer-inner{max-width:var(--max-w);justify-content:space-between;align-items:flex-start;margin:0 auto 2rem;display:flex}.footer-left{flex-direction:column;gap:.3rem;display:flex}.footer-brand{font-family:var(--font-serif);color:var(--text-heading);font-size:1.1rem}.footer-tagline{color:var(--text-dim);font-size:.82rem}.footer-right{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.footer-links{gap:1.5rem;display:flex}.footer-links a{color:var(--text-dim);font-size:.82rem;transition:color .2s}.footer-links a:hover{color:var(--text-heading)}.back-to-top{text-transform:uppercase;letter-spacing:.1em;color:var(--copper);font-size:.75rem;font-weight:600;transition:opacity .2s}.back-to-top:hover{opacity:.7}.footer-bottom{max-width:var(--max-w);border-top:1px solid var(--border);color:var(--text-dim);margin:0 auto;padding-top:1.5rem;font-size:.78rem}@media (width<=768px){.name-banner h1{font-size:clamp(2.5rem,12vw,4rem)}.name-banner-sub{flex-direction:column;align-items:center;gap:.3rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-content{padding:2.5rem 2rem}.hero-photo-col{min-height:300px}.nav-cta{display:none}.hamburger{display:flex}.nav-links{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#faf9f7f7;flex-direction:column;gap:1rem;padding:1.5rem 2rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-links a{font-size:1rem}.about-content{grid-template-columns:1fr;gap:2.5rem}.exp-card{grid-template-columns:1fr;gap:.5rem;padding:1.5rem}.exp-index{grid-row:auto;margin-bottom:.25rem;font-size:1.2rem}.exp-points{grid-column:1}.exp-date{margin-left:0}.edu-row{grid-template-columns:1fr}.project-card{grid-template-columns:1fr;min-height:auto}.project-card.reverse{direction:ltr}.contact-grid{grid-template-columns:1fr}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:1.25rem}.footer-right{align-items:center}}
