:root{--color-primary:#159eaa;--color-secondary:#54c7c3;--color-accent:#76cfe4;--color-dark:#16333a;--color-text:#40555a;--color-background:#f7fbfb;--color-white:#fff;--max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-snap-type:y mandatory}body{background:var(--color-background);min-width:320px;color:var(--color-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero,.about,.professional{scroll-snap-align:start;scroll-snap-stop:always}.hero{background:radial-gradient(circle at 85% 30%,#54c7c329,#0000 30%),linear-gradient(135deg,#fff 0%,#f3fbfb 55%,#eaf8f8 100%);align-items:center;min-height:100vh;padding:4rem 2rem;display:flex}.hero__content{width:100%;max-width:var(--max-width);grid-template-columns:1.15fr .85fr;align-items:center;gap:6rem;margin:0 auto;display:grid}.hero__eyebrow{color:var(--color-primary);letter-spacing:.04em;margin-bottom:.8rem;font-size:1.15rem;font-weight:600}.hero h1{color:var(--color-dark);letter-spacing:-.055em;font-size:clamp(3.5rem,7vw,6.5rem);line-height:.95}.hero h2{color:var(--color-primary);margin-top:1.5rem;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500}.hero__specialty{color:var(--color-dark);margin-top:.5rem;font-size:1.15rem;font-weight:500}.hero__description{max-width:650px;margin-top:2rem;font-size:1.15rem;line-height:1.75}.hero__actions{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.button{border:2px solid var(--color-primary);min-height:52px;font-family:inherit;font-weight:600;font-size:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.5rem;text-decoration:none;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--color-primary);color:var(--color-white)}.button--secondary{color:var(--color-primary);background:0 0}.button--secondary:hover{background:var(--color-primary);color:var(--color-white)}.hero__portrait{aspect-ratio:4/5;justify-self:center;width:min(100%,430px);position:relative}.hero__portrait img{z-index:2;object-fit:cover;border-radius:2rem;width:100%;height:100%;position:relative}.hero__photo-background{z-index:1;background:linear-gradient(145deg, var(--color-accent), var(--color-secondary));border-radius:2rem;position:absolute;inset:2rem -2rem -2rem 2rem}.placeholder{background:var(--color-white);place-items:center;min-height:70vh;display:grid}.placeholder p{color:var(--color-primary);font-size:2rem;font-weight:600}.about{align-items:center;min-height:100vh;padding:5rem 1.5rem;display:flex}.about__content{width:100%;max-width:var(--max-width);margin:0 auto}.about__header{max-width:850px}.section-label{color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.95rem;font-weight:700}.about h2{color:var(--color-dark);letter-spacing:-.045em;font-size:clamp(3rem,6vw,5rem);line-height:1}.about__intro{color:var(--color-text);margin-top:2rem;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.7}.about__areas{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;display:grid}.about__area{border-top:2px solid #dcebec;padding-top:1.5rem}.about__number{color:var(--color-primary);font-size:.9rem;font-weight:700}.about__area h3{color:var(--color-dark);margin-top:1.5rem;font-size:1.6rem}.about__area p{margin-top:.8rem;font-size:1rem;line-height:1.7}.experience{background:var(--color-background);padding:8rem 2rem}.experience__content{width:100%;max-width:var(--max-width);margin:0 auto}.experience__header{max-width:750px;margin-bottom:5rem}.experience h2{color:var(--color-dark);letter-spacing:-.045em;font-size:clamp(3rem,6vw,5rem);line-height:1}.timeline{max-width:1000px}.timeline__item{grid-template-columns:150px 40px 1fr;min-height:220px;display:grid}.timeline__period{color:var(--color-primary);text-align:right;padding-top:.15rem;font-size:.95rem;font-weight:700}.timeline__marker{justify-content:center;display:flex;position:relative}.timeline__marker:after{content:"";background:#cfe5e6;width:2px;position:absolute;top:1rem;bottom:0}.timeline__item:last-child .timeline__marker:after{display:none}.timeline__marker span{z-index:2;border:3px solid var(--color-primary);background:var(--color-background);border-radius:50%;width:14px;height:14px;margin-top:.25rem;position:relative}.timeline__body{padding:0 0 4rem 1.5rem}.timeline__body h3{color:var(--color-dark);font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2}.timeline__institution{color:var(--color-primary);margin-top:.5rem;font-size:1.05rem;font-weight:600}.timeline__description{max-width:650px;margin-top:1.25rem;font-size:1.05rem;line-height:1.7}.hero__meta{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.95rem;font-weight:500;display:flex}.hero__meta a{color:var(--color-primary);text-decoration:none}.hero__meta a:hover{text-decoration:underline}.hero__links{flex-wrap:wrap;gap:1.5rem;margin-top:1.75rem;display:flex}.hero__links a{color:var(--color-dark);font-size:.9rem;font-weight:600;text-decoration:none}.hero__links a:hover{color:var(--color-primary)}.professional{align-items:center;min-height:100vh;padding:4rem 1.5rem;display:flex}.professional__content{width:100%;max-width:var(--max-width);margin:0 auto;transform:translateY(-2rem)}.professional__header{max-width:760px}.professional__header h2{color:var(--color-dark);letter-spacing:-.045em;font-size:clamp(3rem,6vw,5rem);line-height:1}.professional__header>p:last-child{max-width:650px;margin-top:1.5rem;font-size:1.15rem;line-height:1.65}.professional__grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem;display:grid}.professional__item{min-height:280px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffffa6;border:1px solid #d5e8e9;border-radius:1.5rem;padding:2rem;transition:transform .18s,border-color .18s,background-color .18s;position:relative}.professional__item:hover{border-color:var(--color-secondary);background:var(--color-white);transform:translateY(-4px)}.professional__arrow{color:var(--color-primary);font-size:1.4rem;position:absolute;top:1.75rem;right:1.75rem}.professional__item h3{color:var(--color-dark);margin-top:3rem;font-size:1.8rem}.professional__item p{margin-top:1rem;line-height:1.65}.professional__more{color:var(--color-primary);margin-top:2rem;font-size:.9rem;font-weight:700;display:inline-block}.profile-dialog{background:var(--color-white);width:min(90%,760px);max-height:85vh;color:var(--color-text);border:0;border-radius:1.75rem;margin:auto;padding:0}.profile-dialog::backdrop{backdrop-filter:blur(5px);background:#0c262b8c}.profile-dialog__content{padding:3rem;position:relative}.profile-dialog__close{background:var(--color-background);width:42px;height:42px;color:var(--color-dark);font:inherit;cursor:pointer;border:0;border-radius:50%;font-size:1.7rem;line-height:1;position:absolute;top:1.5rem;right:1.75rem}.profile-dialog__content>h2{color:var(--color-dark);font-size:clamp(2.5rem,5vw,4rem);line-height:1}.profile-dialog__list{margin-top:2.5rem}.profile-dialog__entry{border-top:1px solid #d5e8e9;padding:1.5rem 0}.profile-dialog__entry>span{color:var(--color-primary);font-size:.9rem;font-weight:700}.profile-dialog__entry h3{color:var(--color-dark);margin-top:.5rem;font-size:1.35rem}.profile-dialog__institution{color:var(--color-primary);margin-top:.35rem;font-weight:600}.profile-dialog__entry>p:last-child{margin-top:.75rem;line-height:1.55}.skills-list{flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;display:flex}.skills-list span{background:var(--color-background);color:var(--color-dark);border:1px solid #cfe5e6;border-radius:999px;padding:.75rem 1rem;font-size:.95rem;font-weight:600}.hero__contact{color:var(--color-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;font-weight:600}.hero__contact:hover{color:var(--color-primary)}.contact-dialog{background:var(--color-white);width:min(90%,600px);color:var(--color-text);border:0;border-radius:1.75rem;margin:auto;padding:0}.contact-dialog::backdrop{backdrop-filter:blur(5px);background:#0c262b8c}.contact-dialog__content{padding:3rem;position:relative}.contact-dialog__close{background:var(--color-background);width:42px;height:42px;color:var(--color-dark);font:inherit;cursor:pointer;border:0;border-radius:50%;font-size:1.7rem;position:absolute;top:1.5rem;right:1.75rem}.contact-dialog h2{color:var(--color-dark);font-size:clamp(2.5rem,5vw,4rem);line-height:1}.contact-dialog__intro{max-width:450px;margin-top:1.25rem;line-height:1.6}.contact-dialog__links{margin-top:2.5rem}.contact-dialog__links a{color:var(--color-dark);border-top:1px solid #d5e8e9;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;text-decoration:none;display:flex}.contact-dialog__links a:hover{color:var(--color-primary)}.contact-dialog__links span{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.contact-dialog__links small{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.contact-dialog__links strong{color:var(--color-primary);font-size:1.3rem}.contact-dialog__location{color:var(--color-text);margin-top:2rem;font-size:.9rem}@media (width<=800px){.hero{min-height:auto;padding:2.5rem 1.5rem 4rem}.hero__content{grid-template-columns:1fr;gap:3rem}.hero__portrait{aspect-ratio:4/5;order:1;width:min(68vw,280px)}.hero__text{order:2}.hero__photo-background{border-radius:1.5rem;inset:1rem -1rem -1rem 1rem}.hero__portrait img{border-radius:1.5rem}.hero__eyebrow{margin-bottom:.6rem;font-size:1rem}.hero h1{font-size:clamp(3rem,14vw,4.5rem);line-height:.95}.hero h2{margin-top:1.25rem;font-size:clamp(1.6rem,7vw,2rem)}.hero__specialty{font-size:1rem;line-height:1.5}.hero__description{margin-top:1.5rem;font-size:1rem;line-height:1.65}.hero__actions{margin-top:2rem}.button{min-height:48px;padding:.7rem 1.25rem}.about{min-height:auto;padding:4rem 1.5rem;display:block}.about__areas{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.about__header{max-width:none}.about__area{padding-top:1rem}.about__area h3{margin-top:1rem}.about__area p{margin-top:.5rem}.experience{padding:4.5rem 1.5rem}.experience__header{margin-bottom:3.5rem}.timeline__item{grid-template-columns:32px 1fr;min-height:auto}.timeline__period{text-align:left;grid-column:2;margin-bottom:.75rem;padding:0}.timeline__marker{grid-area:1/1/3}.timeline__marker:after{top:1rem;bottom:0}.timeline__body{grid-column:2;padding:0 0 3.5rem}.professional{min-height:auto;padding:3.5rem 1.5rem;display:block}.professional__content{transform:none}.professional__grid{grid-template-columns:1fr;gap:1rem;margin-top:3rem}.professional__item{min-height:auto}}@media (width<=480px){.hero{min-height:auto;padding:1.5rem 1.25rem 2.5rem}.hero__content{gap:1.75rem}.hero__portrait{width:min(58vw,230px);margin:0 auto}.hero__text{width:100%}.hero__eyebrow{margin-bottom:.5rem;font-size:.9rem}.hero__text h1{letter-spacing:-.055em;font-size:clamp(3rem,14vw,3.75rem);line-height:.92}.hero__text h2{margin-top:1rem;font-size:clamp(1.55rem,7vw,1.8rem);line-height:1.1}.hero__specialty{margin-top:.5rem;font-size:.95rem;line-height:1.4}.hero__description{margin-top:1.5rem;font-size:.95rem;line-height:1.5}.hero__meta{flex-wrap:wrap;gap:.3rem .5rem;margin-top:1.25rem;font-size:.85rem;display:flex}.hero__actions{flex-wrap:nowrap;gap:.75rem;margin-top:1.5rem;display:flex}.hero__actions .button{width:auto;min-height:44px;padding:.65rem 1rem}.hero__links{margin-top:.9rem}.about{height:100svh;min-height:0;padding:1.75rem 1.25rem 1.5rem;display:block;overflow:hidden}.about h2{font-size:2.7rem}.about__intro{margin-top:1rem;font-size:1.05rem;line-height:1.45}.about__areas{gap:0;margin-top:1.5rem}.about__area{padding:1.25rem 0 1.5rem}.about__number{font-size:.8rem}.about__area h3{margin-top:.75rem;font-size:1.35rem}.about__area p{margin-top:.4rem;font-size:.98rem;line-height:1.45}.experience{padding:3rem 1.25rem}.experience h2{font-size:2.7rem;line-height:.95}.experience__header{margin-bottom:2.5rem}.timeline__item{grid-template-columns:26px 1fr}.timeline__period{margin-bottom:.5rem;font-size:.9rem}.timeline__body{padding:0 0 2.25rem}.timeline__body h3{font-size:1.35rem;line-height:1.2}.timeline__institution{margin-top:.4rem;font-size:1rem}.timeline__description{margin-top:.8rem;font-size:.98rem;line-height:1.45}.professional{height:100svh;min-height:0;padding:1.75rem 1.25rem 1.5rem;overflow:hidden}.professional__header h2{font-size:2.7rem}.professional__header>p:last-child{margin-top:.75rem;font-size:1.05rem;line-height:1.45}.professional__grid{gap:.75rem;margin-top:1.25rem}.professional__item{padding:1.35rem 1.5rem}.professional__arrow{top:1.4rem;right:1.4rem}.professional__item h3{margin-top:.75rem;font-size:1.4rem}.professional__item p{margin-top:.6rem;font-size:.98rem;line-height:1.45}.professional__more{margin-top:1rem}.contact-dialog{border-radius:1.25rem;width:calc(100% - 2rem)}.contact-dialog__content{padding:2rem 1.5rem}.contact-dialog__close{top:1rem;right:1rem}.contact-dialog h2{font-size:2.5rem}.profile-dialog{border-radius:1.25rem;width:calc(100% - 2rem);max-height:88vh}.profile-dialog__content{padding:2rem 1.5rem}.profile-dialog__close{top:1rem;right:1rem}.profile-dialog__content>h2{font-size:2.5rem}.profile-dialog__list{margin-top:2rem}.profile-dialog__entry{padding:1.25rem 0}.skills-list{gap:.6rem;margin-top:2rem}.skills-list span{padding:.65rem .85rem;font-size:.9rem}}
