:root{--bg: #f8f3f1;--bg-soft: #fdf7f5;--accent: #f3b8c2;--accent-soft: #fbe0e6;--accent-deep: #e08da0;--text-main: #2b2626;--text-soft: #6b5f5f;--border-subtle: rgba(140, 120, 120, .25);--shadow-soft: 0 18px 45px rgba(0, 0, 0, .06);--radius-lg: 26px;--radius-md: 18px;--radius-pill: 999px;--transition-fast: .18s ease-out;--transition-med: .26s ease-out;--nav-height: 84px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-main);background:radial-gradient(circle at 0 0,#fbe8f0 0,transparent 38%),radial-gradient(circle at 100% 0,#f7f1ff 0,transparent 38%),var(--bg);min-height:100vh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}section{scroll-margin-top:80px}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 1.5rem}.site-header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(to bottom,#f8f3f1e6,#f8f3f1bf);border-bottom:1px solid rgba(255,255,255,.6)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height)}.logo-container{display:flex;align-items:center;height:100%;overflow:visible}.logo-img{height:calc(var(--nav-height) + 30px);width:calc(var(--nav-height) + 30px);object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:0 8px 25px #f3b8c280;background:#fff;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);margin-top:15px;position:relative;z-index:50}.logo-img:hover{transform:scale(1.1) rotate(5deg);border-color:var(--accent-deep)}@media(max-width:720px){.logo-img{height:calc(var(--nav-height) + 15px);width:calc(var(--nav-height) + 15px)}}@media(max-width:480px){.logo-img{height:calc(var(--nav-height) + 5px);width:calc(var(--nav-height) + 5px)}}.main-nav{display:flex;align-items:center}.nav-links{display:flex;align-items:center;gap:1.25rem;list-style:none;padding:0;margin:0}.nav-links a{font-size:.9rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);position:relative;padding-bottom:.1rem}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent-deep);transition:width var(--transition-fast)}.nav-links a:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;border-radius:100px;border:1px solid rgba(0,0,0,.12);background:#fdf6f4e6}.nav-toggle span{display:block;width:18px;height:1.5px;border-radius:999px;background:#433540}.section-shell{padding:4.5rem 0 3.75rem}.section-inner{background:#fdf6f4e6;border-radius:var(--radius-lg);padding:2.75rem 2.25rem;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.85)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.section-header h2{font-family:Poppins,system-ui,sans-serif;font-size:1.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0}.section-header p{margin:0;max-width:420px;font-size:.98rem;color:var(--text-soft)}.hero{padding-top:1.75rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr);gap:2.5rem}.hero-content{display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.75rem}.hero-title{font-family:Poppins,system-ui,sans-serif;font-size:clamp(2.4rem,5vw,2.9rem);line-height:1.04;margin:0 0 .4rem}.hero-tagline{font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft);margin:0 0 1.4rem}.hero-summary{margin:0 0 1.8rem;font-size:.98rem;color:var(--text-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.6rem;border-radius:var(--radius-pill);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.btn:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.primary-btn{background:linear-gradient(135deg,var(--accent-deep),#f4a5b5);color:#fff;box-shadow:0 14px 34px #e68ca073}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 18px 42px #e68ca094}.ghost-btn{background:#ffffffe6;color:var(--text-main);border:1px solid var(--border-subtle)}.ghost-btn:hover{background:#fff;transform:translateY(-1px)}.subtle-btn{background:#fff7fb;color:var(--accent-deep);border-radius:var(--radius-pill);padding:.7rem 1.4rem;font-size:.83rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(243,184,194,.7);display:inline-flex;align-items:center;gap:.35rem}.subtle-btn:hover{background:#fff}.full-width{width:100%}.hero-media{display:flex;align-items:center;justify-content:center}.hero-image-frame{position:relative;border-radius:34px;padding:.8rem;background:radial-gradient(circle at 0 0,#ffe7f0,#f5f0ff);box-shadow:var(--shadow-soft);width:100%;max-width:500px}.hero-image{border-radius:24px;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;display:block}.hero-badge{position:absolute;left:14px;bottom:18px;background:#20171fe0;color:#fff;padding:.55rem .9rem;border-radius:999px;display:inline-flex;flex-direction:column;gap:.1rem;font-size:.7rem}.hero-badge-label{text-transform:uppercase;letter-spacing:.12em;opacity:.7}.hero-badge-value{font-weight:500}.about-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr);gap:2.25rem}.about-bio p{margin:0 0 1rem;font-size:.97rem;color:var(--text-soft)}.about-details{padding:1.2rem 1.2rem 1.1rem;border-radius:22px;background:#fffffff2;border:1px solid rgba(255,255,255,.95)}.detail-list{margin:0 0 1.4rem}.detail-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.75rem;padding:.45rem 0;font-size:.9rem}.detail-row dt{font-weight:500;color:var(--text-soft)}.detail-row dd{margin:0}.skills h3{margin:0 0 .6rem;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0}.chips li{padding:.35rem .9rem;border-radius:999px;background:var(--bg-soft);border:1px solid rgba(243,184,194,.6);font-size:.8rem}.project-filters{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding:.5rem;border-radius:999px;background:#ffffffe6;border:1px solid rgba(243,184,194,.5);margin-bottom:1.8rem}.filter-btn{border-radius:999px;border:none;padding:.4rem 1.1rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;background:transparent;cursor:pointer;color:var(--text-soft);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.filter-btn.active{background:var(--accent-deep);color:#fff;box-shadow:0 8px 20px #e68ca073}.filter-btn:hover:not(.active){background:#fbe0e6e6}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.project-card{border-radius:22px;overflow:hidden;background:#fffffff5;box-shadow:0 14px 30px #0000000f;display:flex;flex-direction:column;transition:transform var(--transition-med),box-shadow var(--transition-med)}.project-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px #0000001a}.project-thumb img{width:100%;height:220px;object-fit:cover;transition:transform var(--transition-med)}.project-meta{padding:1rem 1rem 1.2rem}.project-tag{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;background:var(--bg-soft);color:var(--accent-deep)}.project-title{margin:.6rem 0 .2rem;font-size:1.02rem}.project-role,.project-year{margin:0;font-size:.85rem;color:var(--text-soft)}.project-description{margin:.8rem 0 .9rem;font-size:.9rem;color:var(--text-soft)}.text-link{border:none;background:none;padding:0;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);cursor:pointer}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.25rem}.gallery-item{border:none;padding:0;background:transparent;cursor:pointer;border-radius:22px;overflow:hidden;position:relative}.gallery-item img{width:100%;height:100%;aspect-ratio:3 / 4;object-fit:cover;transform:scale(1.01);transition:transform var(--transition-med),filter var(--transition-med)}.gallery-item:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.35),transparent 60%),linear-gradient(to bottom,transparent,rgba(0,0,0,.15));opacity:0;transition:opacity var(--transition-med)}.gallery-item:hover img{transform:scale(1.05);filter:brightness(1.02)}.gallery-item:hover:after{opacity:1}.showreel-frame{border-radius:24px;padding:.6rem;background:radial-gradient(circle at 0 0,#ffe7f0,#f5f0ff);box-shadow:var(--shadow-soft)}.video-wrapper{position:relative;padding-bottom:56.25%;width:100%;overflow:hidden;border-radius:20px;background:#000}.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.achievement-timeline{display:grid;gap:1rem}.achievement-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:1.25rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:18px;background:#fffffff5;border:1px solid rgba(245,212,219,.75)}.achievement-year{font-family:Poppins,system-ui,sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--text-soft)}.achievement-body h3{margin:0 0 .2rem;font-size:1rem}.achievement-body p{margin:0;font-size:.9rem;color:var(--text-soft)}.contact-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}.contact-details{background:#ffffffb3;padding:2.5rem;border-radius:22px;border:1px solid rgba(243,184,194,.4);text-align:center}.contact-details h3{margin:0 0 .5rem;font-size:1.2rem;color:var(--text-main);letter-spacing:.1em}.contact-name{margin:0 0 2rem;font-size:1.4rem;font-weight:700;color:var(--accent-deep)}.contact-links-list{display:flex;flex-direction:column;gap:1.5rem;align-items:center;margin-bottom:2.5rem}.contact-link-item{display:flex;align-items:center;gap:1.2rem;font-size:1.1rem;color:var(--text-main);transition:transform var(--transition-fast);padding:.5rem 1rem;border-radius:12px;width:fit-content}.contact-link-item:hover{transform:translate(5px);background:var(--accent-soft)}.contact-link-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 4px 10px #0000000d;border:1px solid var(--accent-soft);color:var(--accent-deep);flex-shrink:0}.contact-link-icon svg{width:20px;height:20px;fill:currentColor}.contact-link-text{font-weight:500;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.contact-link-item:hover .contact-link-text{border-color:var(--accent-deep)}.contact-socials{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.contact-social-btn{width:50px;height:50px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text-main);border:1px solid var(--accent-soft);transition:all var(--transition-fast)}.contact-social-btn:hover{background:var(--accent-deep);color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #e68ca066}.contact-social-btn svg{width:24px;height:24px;fill:currentColor}.contact-form-wrapper{padding:1.2rem 1.3rem;border-radius:22px;background:#fffffff7;border:1px solid rgba(255,255,255,.9)}.contact-form{display:grid;gap:.85rem}.input-row{display:flex;flex-direction:column;gap:.35rem}.input-row label{font-size:.85rem;font-weight:500;color:var(--text-soft)}.input-row input,.input-row textarea{border-radius:12px;border:1px solid rgba(226,210,210,.9);padding:.7rem .8rem;font-family:inherit;font-size:.9rem;background:#fffdfc}.input-row input:focus-visible,.input-row textarea:focus-visible{outline:2px solid rgba(243,184,194,.85);outline-offset:1px}.form-note{margin:.25rem 0 0;font-size:.8rem;color:var(--text-soft)}.site-footer{padding:3rem 0 3.5rem;background:#fdf6f480;border-top:1px solid rgba(255,255,255,.4)}.footer-logo{margin-bottom:1.25rem}.footer-logo-img{height:48px;filter:grayscale(1) opacity(.7)}.footer-logo-img:hover{filter:none;opacity:1}.footer-inner{display:flex;flex-direction:column;gap:.25rem;text-align:center;font-size:.85rem;color:var(--text-soft)}.footer-meta{opacity:.85}.modal-backdrop{position:fixed;inset:0;background:#0b060773;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity var(--transition-med);z-index:60}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-dialog{width:95%;max-width:520px;border-radius:24px;background:#fff9f7;box-shadow:0 30px 80px #0000002e;padding:1.4rem 1.4rem 1.5rem;transform:translateY(16px);opacity:0;transition:transform var(--transition-med),opacity var(--transition-med);position:relative;max-height:90vh;overflow-y:auto}.modal-backdrop.open .modal-dialog{transform:translateY(0);opacity:1}.modal-content{margin-top:.2rem}.modal-content h3{margin:0 0 .15rem}.modal-role,.modal-year,.modal-body{margin:.25rem 0 1rem;font-size:.9rem;color:var(--text-soft);line-height:1.6}.modal-actions{margin-top:1.5rem}.modal-close{border:none;padding:0;width:28px;height:28px;border-radius:999px;background:#21151fdb;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;float:right;position:relative}.modal-close:before,.modal-close:after{content:"";position:absolute;width:12px;height:1.5px;border-radius:999px;background:#fff}.modal-close:before{transform:rotate(45deg)}.modal-close:after{transform:rotate(-45deg)}.gallery-dialog{width:95%;max-width:800px;padding:.5rem;background:#0b0607;display:flex;align-items:center;justify-content:center}.gallery-modal-content{width:100%;height:auto;display:flex;justify-content:center}.gallery-modal-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px}[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.21,.45,.32,.9),transform .5s cubic-bezier(.21,.45,.32,.9);will-change:opacity,transform}[data-animate].visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){.container{max-width:920px}}@media(max-width:960px){.section-header{flex-direction:column;align-items:flex-start;text-align:left;gap:.5rem}.hero-grid{grid-template-columns:1fr;text-align:center;gap:3rem}.hero-media{order:-1;max-width:460px;margin:0 auto}.hero-actions{justify-content:center}.about-grid{grid-template-columns:1fr;gap:2.5rem}.detail-row{grid-template-columns:100px 1fr}.project-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){:root{--nav-height: 72px}.section-shell{padding:3.5rem 0}.section-inner{padding:2rem 1.5rem}.site-header{background:#f8f3f1fa}.nav-toggle{display:flex}.nav-links{position:fixed;top:var(--nav-height);left:0;right:0;flex-direction:column;align-items:center;padding:2rem;background:#fff;box-shadow:0 20px 40px #0000001a;transform:translateY(-100%);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.165,.84,.44,1);z-index:-1}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links li{width:100%;text-align:center}.nav-links a{display:block;padding:1rem;font-size:1.1rem}.logo-img{height:calc(var(--nav-height) + 15px);width:calc(var(--nav-height) + 15px);margin-top:10px}.project-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.container{padding:0 1.25rem}.hero-title{font-size:2.2rem}.logo-img{height:calc(var(--nav-height) + 10px);width:calc(var(--nav-height) + 10px)}.project-grid{grid-template-columns:1fr;gap:1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.gallery-item img{height:180px}.contact-details{padding:1.5rem 1rem}.contact-name{font-size:1.2rem;margin-bottom:1.5rem}.contact-links-list{align-items:stretch;gap:1rem}.contact-link-item{font-size:.9rem;gap:.7rem;padding:.5rem;width:100%;justify-content:flex-start;text-align:left;background:#ffffff80}.contact-link-text{word-break:break-all;white-space:normal;line-height:1.3}.contact-link-icon{width:36px;height:36px;flex-shrink:0}.contact-link-icon svg{width:16px;height:16px}.contact-socials{gap:1rem}.contact-social-btn{width:44px;height:44px;border-radius:12px}.modal-dialog{padding:1.25rem;margin:1rem}}.app-root{min-height:100vh}
