:root{--text: #0f172a;--muted: #4b5b6b;--border: #d7e3f2;--card: #ffffff;--bg: #f5f9ff;--surface: #ffffff;--surface-muted: #eef4ff;--accent: #2f6cff;--gen-bg: #070a14;--gen-text: rgba(255, 255, 255, .92);--gen-muted: rgba(255, 255, 255, .78);--gen-orbit: rgba(255, 255, 255, .55);--gen-panel: rgba(255, 255, 255, .08);--gen-border: rgba(255, 255, 255, .16)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#f5f9ff,#fff 45%,#eef5ff);color:var(--text)}.outdoors{background:linear-gradient(180deg,#f2f7ff,#fff 45%,#eaf2ff)}.outdoors-hero{padding:64px 0 40px;background:radial-gradient(circle at 16% 18%,rgba(176,200,235,.35),transparent 55%),radial-gradient(circle at 82% 20%,rgba(210,225,245,.45),transparent 50%)}.outdoors-hero__inner{display:grid;gap:32px;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center}.outdoors-hero__gallery{margin-top:32px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.outdoors-hero__photo{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 18px 34px #0000001f}.outdoors-hero__photo img{width:100%;height:200px;object-fit:cover;display:block}.outdoors-hero__photo figcaption{padding:10px 12px 12px;font-size:.9rem;color:var(--muted)}.outdoors-hero__text h1{margin:0 0 12px;font-size:clamp(2.4rem,2.2rem + 1vw,3.1rem)}.outdoors-hero__eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--muted);margin:0 0 10px}.outdoors-hero__stats{display:grid;gap:16px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;display:grid;gap:8px;box-shadow:0 16px 32px #0000000f}.stat-card__value{font-size:2.2rem;font-weight:600}.stat-card__label{color:var(--muted);font-size:.95rem}.outdoors-panel{text-align:left}.outdoors-panel__intro{margin:0 0 18px;color:#222;line-height:1.7}.outdoors-list{display:flex;flex-wrap:wrap;gap:10px}.outdoors-chip{border:1px solid var(--border);border-radius:999px;padding:8px 14px;background:var(--surface);font-size:.92rem}.outdoors-ranking{margin:0;padding-left:20px;line-height:1.8;color:#222}.outdoors-split{display:grid;gap:28px}.outdoors-split__row{display:grid;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}.outdoors-split__row--reverse{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.outdoors-side-image{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 18px 36px #0000001a}.outdoors-side-image img{width:100%;height:100%;display:block;object-fit:cover;min-height:260px}.outdoors-side-image figcaption{padding:10px 14px 12px;font-size:.92rem;color:var(--muted)}.outdoors-highlight{display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;margin-top:10px}.outdoors-highlight__image{border-radius:22px;overflow:hidden;border:1px solid var(--border);box-shadow:0 22px 42px #0000001f;background:var(--surface)}.outdoors-highlight__image img{width:100%;height:100%;display:block;object-fit:cover}.outdoors-highlight__text h2{margin:0 0 12px}.outdoors-highlight__text p{margin:0 0 18px;line-height:1.7;color:#222}.outdoors-highlight__chips{display:flex;flex-wrap:wrap;gap:10px}.outdoors-highlight__chips span{border:1px solid var(--border);border-radius:999px;padding:8px 14px;background:var(--surface);font-size:.9rem}.outdoors-gallery{padding-bottom:64px}.outdoors-gallery__header{text-align:left;margin-bottom:18px}.outdoors-gallery__grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.outdoors-photo{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 14px 28px #00000014}.outdoors-photo__button{border:none;padding:0;background:none;width:100%;display:block;cursor:pointer}.outdoors-photo img{width:100%;height:220px;object-fit:cover;display:block}.outdoors-photo figcaption{padding:12px 14px 14px;font-size:.92rem;color:var(--muted)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1423c7;display:grid;place-items:center;padding:24px;z-index:2000}.lightbox__content{margin:0;max-width:min(1200px,92vw);max-height:85vh;background:var(--surface);border-radius:20px;border:1px solid var(--border);overflow:hidden;box-shadow:0 24px 60px #00000059}.lightbox__content img{width:100%;height:auto;max-height:75vh;object-fit:contain;display:block;background:#0b1220}.lightbox__content figcaption{padding:12px 16px 14px;font-size:.95rem;color:var(--muted)}.lightbox__close{position:absolute;top:22px;right:22px;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#f8fafc;padding:8px 14px;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox__close:hover{background:#fff3}.container{margin:0 auto;padding:48px 20px}.container--narrow{max-width:800px;text-align:center}.container--medium{max-width:1000px;text-align:center}.container--wide{max-width:1200px}h1{margin:0}.header{text-align:center;margin-bottom:28px}.header h1{font-size:2.5rem}.container--medium .header h1{font-size:3rem}.subtitle{margin:10px 0 0;font-size:1.15rem;color:var(--muted)}.navbar{width:100%;background:var(--surface);border-bottom:1px solid var(--border)}.nav-inner{width:min(1200px,calc(100% - 40px));margin:0 auto;padding:14px 0;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.1rem;font-weight:600;color:var(--text);text-decoration:none}.nav-links{list-style:none;display:flex;gap:22px;margin:0;padding:0}.nav-links a{text-decoration:none;color:var(--text);font-size:.95rem;padding:6px 2px;border-bottom:2px solid transparent}.nav-links a:hover{border-bottom-color:var(--text)}.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px}.panel-whycs{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;margin-top:24px}.panel h2{margin:0 0 12px;font-size:1.25rem}.footer{margin-top:24px;color:var(--muted);font-size:.95rem;text-align:center}.hero{padding:48px 0 32px;text-align:center}.hero h1{font-size:3rem;margin-bottom:.5rem}.hero h2{font-size:1.25rem;font-weight:400;color:var(--muted)}.hero h2 a{color:inherit;text-decoration:none}.hero h2 a:hover{text-decoration:underline}.about-bg{min-height:70vh;display:flex;align-items:center;justify-content:center;background-image:url(/assets/mountains_landscape.JPG);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.about-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff40}.about-content{position:relative;max-width:720px;background:#ffffffe6;color:#111;padding:40px 36px;border-radius:20px;box-shadow:0 20px 45px #00000040}.about-content h3{margin-top:0;font-size:1.6rem;margin-bottom:12px}.about-content p{margin:0;line-height:1.75;font-size:1.05rem}.list a{color:inherit;text-decoration:none}.list a:hover{text-decoration:underline}.three-col{display:grid;gap:24px;align-items:start}.container--medium .three-col{margin-top:48px;grid-template-columns:1fr 320px 1fr}.list{list-style:none;padding:0;margin:0}.list li{padding:12px 0;border-top:1px solid var(--border)}.list li:first-child{border-top:none}.list strong{display:block;font-size:1.02rem}.meta{display:block;margin-top:4px;font-size:.95rem;color:var(--muted)}.center{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0}.avatar{width:220px;height:220px;border-radius:999px;object-fit:cover;border:1px solid var(--border)}.center-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.center-links a{text-decoration:none;color:var(--text);padding:10px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.center-links a:hover{background:var(--surface-muted)}.details{margin-top:36px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px}.details h2{margin:0 0 10px;font-size:1.35rem}.details p{margin:0;line-height:1.75;color:#222}.projects-labels{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--muted)}.projects-labels span{display:block;text-align:left}.project-cards{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;text-align:left}.project-card--link{display:block;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.project-card--link:hover{transform:translateY(-3px);box-shadow:0 14px 30px #00000014}.project-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.project-card__title{margin:0;font-size:1.1rem}.project-card__cta{font-size:.9rem;color:var(--muted);border:1px solid var(--border);padding:6px 10px;border-radius:999px;background:var(--surface)}.project-card__desc{margin:0;line-height:1.7;color:#222}.project-card__tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.project-card__tags span{font-size:.85rem;color:var(--text);background:var(--card);border:1px solid var(--border);padding:6px 10px;border-radius:999px}.project-card__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);text-decoration:none}.project-card__icon svg{width:18px;height:18px;fill:#111}.project-card__icon:hover{background:var(--surface-muted)}.button-link{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:10px 16px;background:var(--surface)}.button-link:hover{background:var(--surface-muted)}.project-detail,.project-detail__header{text-align:left}.project-detail__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:start;margin-top:28px}.project-detail__panel p{margin:0 0 12px;line-height:1.7;color:#222}.project-detail__panel p:last-child{margin-bottom:0}.project-detail__list{list-style:disc;padding-left:18px;color:#222;line-height:1.6}.project-detail__links{display:flex;flex-wrap:wrap;gap:12px}.project-detail__links a{text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:8px 14px;background:var(--surface)}.project-detail__links a:hover{background:var(--surface-muted)}.project-detail__media{display:flex;flex-direction:column;gap:16px}.project-detail__figure{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.project-detail__figure img{width:100%;display:block}.project-detail__figure figcaption{padding:10px 14px 12px;font-size:.9rem;color:var(--muted)}@media (max-width: 900px){.projects-labels,.project-cards{grid-template-columns:1fr}}.container--wide .three-col{grid-template-columns:1.3fr minmax(420px,640px) 1.3fr}.container--wide .panel .list{list-style:disc;padding-left:18px;margin:0;color:#222;line-height:1.65}.container--wide .panel .list li{border:none;padding:6px 0}.resume{text-align:center}.resume-title{margin:0 0 12px;font-size:1.25rem}.resume-embed{width:100%;height:70vh;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.resume-fallback{margin:10px 0 0;color:var(--muted);font-size:.95rem}.resume-fallback a{color:var(--text)}.service-layout{display:grid;grid-template-columns:1fr minmax(360px,560px) 1fr;gap:28px;align-items:center}.service-text{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px;line-height:1.8;color:#222}.service-text p{margin:0 0 16px}.service-text p:last-child{margin-bottom:0}.service-image{width:100%;max-width:300px;border-radius:16px;border:1px solid var(--border);object-fit:cover}.genai{background:var(--gen-bg);color:var(--gen-text)}.genai .subtitle{color:var(--gen-muted);margin-top:6px}body.genai{background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.12) 0 1px,transparent 2px),radial-gradient(circle at 78% 18%,rgba(255,255,255,.1) 0 1px,transparent 2px),radial-gradient(circle at 64% 64%,rgba(255,255,255,.1) 0 1px,transparent 2px),radial-gradient(circle at 28% 72%,rgba(255,255,255,.09) 0 1px,transparent 2px),radial-gradient(circle at 86% 76%,rgba(255,255,255,.1) 0 1px,transparent 2px),radial-gradient(circle at 10% 58%,rgba(255,255,255,.08) 0 1px,transparent 2px),radial-gradient(1200px 700px at 50% 30%,rgba(120,160,255,.1),transparent 60%),radial-gradient(1000px 650px at 50% 85%,rgba(255,140,200,.06),transparent 58%),var(--gen-bg)}.genai .page{width:100%;min-height:100vh;padding:56px 20px 64px;display:flex;flex-direction:column;align-items:center;gap:26px}.genai .scene{position:relative;width:min(860px,94vw);height:min(240px,66vh);display:grid;place-items:center;perspective:900px}.genai .orbit,.genai .orbit-anim{position:absolute;width:min(520px,72vw);aspect-ratio:1 / 1;border-radius:999px;transform-style:preserve-3d}.genai .orbit{border:3px solid var(--gen-orbit);box-shadow:inset 0 0 0 1px #00000059,0 0 26px #ffffff0f;transform:rotateX(62deg) rotate(-18deg);pointer-events:none}.genai .orbit-anim{transform:rotateX(62deg) rotate(-18deg);animation:genai-spin 6.5s linear infinite;pointer-events:none}.genai .moon{position:absolute;top:50%;left:100%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#f5f5f5,#d8d8d8 55%,#bfbfbf);box-shadow:0 14px 26px #0009,inset -3px -4px 7px #00000040}.genai .earth{position:absolute;width:170px;height:170px;border-radius:999px;border:2px solid rgba(255,255,255,.12);background:radial-gradient(circle at 30% 30%,#fffffff2,#fff0 36%),radial-gradient(circle at 58% 60%,#0000004d,#0000 62%),radial-gradient(circle at 50% 50%,#2f6cff,#1b47c7 62%,#0a1c4f);box-shadow:0 28px 70px #0009,inset -18px -22px 40px #00000059,inset 18px 18px 36px #ffffff1a}.genai .earth:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:999px;opacity:.86;background:radial-gradient(circle at 35% 45%,rgba(60,200,120,.95) 0 18px,transparent 19px),radial-gradient(circle at 55% 40%,rgba(60,200,120,.85) 0 14px,transparent 15px),radial-gradient(circle at 62% 62%,rgba(60,200,120,.85) 0 20px,transparent 21px),radial-gradient(circle at 42% 66%,rgba(60,200,120,.75) 0 10px,transparent 11px)}@keyframes genai-spin{to{transform:rotateX(62deg) rotate(-18deg) rotate(360deg)}}.genai .prompt-box{width:min(920px,94vw);background:var(--gen-panel);border:1px solid var(--gen-border);border-radius:16px;padding:18px 18px 16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.genai .prompt-box h2{margin:0 0 10px;font-size:1.15rem;color:#ffffffeb}.genai .prompt-box p{margin:0;line-height:1.65;color:#ffffffd1;word-break:break-word}.experience{background:linear-gradient(180deg,#f2f7ff,#fff 40%,#eaf2ff)}.experience-hero{padding:72px 0 40px;background:radial-gradient(circle at 18% 20%,rgba(180,205,240,.35),transparent 55%),radial-gradient(circle at 82% 15%,rgba(210,225,245,.45),transparent 50%)}.experience-hero__eyebrow{margin:0 0 10px;letter-spacing:.22em;text-transform:uppercase;font-size:.75rem;color:var(--muted)}.experience-hero h1{margin:0 0 12px;font-size:clamp(2.4rem,2.2rem + 1.2vw,3.3rem)}.experience-hero__sub{margin:0;max-width:640px;color:#222;line-height:1.7}.experience-timeline{padding:24px 0 72px}.timeline{position:relative;display:flex;flex-direction:column-reverse;gap:28px;padding:10px 0 30px}.timeline:before{content:"";position:absolute;left:72px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#1b38601f,#1b386059,#1b38601f)}.timeline-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:start;animation:timeline-rise .65s ease both;animation-delay:var(--delay, 0s)}.timeline-marker{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:6px;position:relative;z-index:1}.logo-slot{width:64px;height:64px;border-radius:18px;border:1px dashed rgba(60,94,140,.3);background:#fffc;display:grid;place-items:center;font-size:.75rem;color:#1119;text-transform:uppercase;letter-spacing:.12em}.logo-slot img{width:100%;height:100%;object-fit:contain;padding:8px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:#111;box-shadow:0 0 0 6px #1111111a}.timeline-date{margin:0;font-size:.85rem;color:var(--muted);text-align:center;line-height:1.4}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px 24px;box-shadow:0 18px 36px #00000014}.timeline-card__header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.timeline-card h2{margin:0;font-size:1.4rem}.timeline-role{margin:0;color:var(--muted);font-weight:600}.timeline-list{margin:0;padding-left:18px;line-height:1.7;color:#222}.timeline-list li+li{margin-top:8px}@keyframes timeline-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.timeline-item{animation:none}}@media (max-width: 1000px){.three-col{grid-template-columns:1fr!important}.resume-embed{height:75vh}.center{order:-1}.project-detail__layout,.outdoors-hero__inner,.outdoors-highlight,.outdoors-split__row,.outdoors-split__row--reverse{grid-template-columns:1fr}.timeline-item{grid-template-columns:120px minmax(0,1fr)}.timeline:before{left:58px}}@media (max-width: 900px){.service-layout{grid-template-columns:1fr;text-align:center}.service-image{margin:0 auto;max-width:320px}.service-text{text-align:left}}@media (max-width: 768px){.hero{padding:32px 0 24px}.about-content{margin:0 20px;padding:28px 24px}.timeline{gap:20px}.timeline:before{left:30px}.timeline-item{grid-template-columns:1fr}.timeline-marker{flex-direction:row;justify-content:flex-start;gap:12px}.timeline-date{text-align:left}.logo-slot{width:52px;height:52px;border-radius:14px}.timeline-card{padding:20px}}@media (max-width: 520px){body.genai .scene{height:min(360px,44vh)}body.genai .earth{width:140px;height:140px}body.genai .moon{width:24px;height:24px}body.genai .orbit,body.genai .orbit-anim{width:min(420px,82vw)}}.toggle_theme{background:none;border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.9rem;cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm)}.toggle_theme:hover{background:#0000000d}
