:root{--ease-out:cubic-bezier(.2, .7, .2, 1);--hero-delay:1.1s}@media (max-width:1040px){:root{--hero-delay:.1s}}@property --chat-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --skill-fill{syntax:"<number>";inherits:false;initial-value:0}.scroll_progress{display:none}@supports (animation-timeline:scroll()){.scroll_progress{z-index:1000;pointer-events:none;background:linear-gradient(90deg, var(--fill-a), var(--fill-b), var(--fill-c));transform-origin:0;height:2px;animation:linear both scrollProgress;animation-timeline:scroll(root);display:block;position:fixed;top:0;left:0;right:0}}@keyframes scrollProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-reveal]{transition:opacity .8s var(--ease-out), transform .8s var(--ease-out), border-color .4s ease, background-color .4s ease}.reveal-ready [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(32px)}[data-reveal].is-revealed:hover{transition-delay:0s}.biography li:nth-child(2) [data-reveal],.nicolas_sm_counter li:nth-child(2) [data-reveal]{transition-delay:80ms}.biography li:nth-child(3) [data-reveal],.nicolas_sm_counter li:nth-child(3) [data-reveal]{transition-delay:.16s}.biography li:nth-child(4) [data-reveal],.nicolas_sm_counter li:nth-child(4) [data-reveal]{transition-delay:.24s}.nicolas_sm_main_title{position:relative}.reveal-ready .nicolas_sm_main_title[data-reveal]{border-top-color:#0000}.reveal-ready .nicolas_sm_main_title[data-reveal]:before{content:"";background:linear-gradient(90deg, var(--accent), var(--line) 35%);transform-origin:0;height:1px;transition:transform 1.4s var(--ease-out) .15s;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.reveal-ready .nicolas_sm_main_title.is-revealed:before{transform:scaleX(1)}.nicolas_sm_hero{isolation:isolate;position:relative}.nicolas_sm_hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side at 30% 40%, rgb(var(--accent-rgb) / .13), transparent), radial-gradient(closest-side at 75% 60%, rgb(var(--accent-rgb) / .07), transparent);width:1100px;height:900px;margin-left:-550px;animation:16s ease-in-out infinite alternate glowDrift;position:absolute;top:-160px;left:50%}.nicolas_sm_hero:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(rgb(var(--tint) / .09) 1px, transparent 1px);background-size:28px 28px;height:900px;position:absolute;top:-110px;left:0;right:0;-webkit-mask-image:radial-gradient(60% 55% at 50% 40%,#000,#0000);mask-image:radial-gradient(60% 55% at 50% 40%,#000,#0000)}@keyframes glowDrift{0%{transform:translate(-60px)scale(1)}to{transform:translate(60px,40px)scale(1.08)}}.nicolas_sm_hero .hero_text h3{animation:heroRise 1s var(--ease-out) both}.nicolas_sm_hero .hero_text .left h3:first-child{animation-delay:var(--hero-delay)}.nicolas_sm_hero .hero_text .left h3:nth-child(2){animation-delay:calc(var(--hero-delay) + .1s)}.nicolas_sm_hero .hero_text .right h3:first-child{animation-delay:calc(var(--hero-delay) + .3s)}.nicolas_sm_hero .hero_text .right h3:nth-child(2){animation-delay:calc(var(--hero-delay) + .4s)}.nicolas_sm_hero .hero_text .right h3:nth-child(3){animation-delay:calc(var(--hero-delay) + .5s)}@keyframes heroRise{0%{opacity:0;filter:blur(10px);transform:translateY(60px)}to{opacity:1;filter:blur();transform:none}}.nicolas_sm_hero .arrow{transform-origin:0;animation:arrowDraw 1.1s var(--ease-out) both;animation-delay:calc(var(--hero-delay) + .35s)}@keyframes arrowDraw{0%{transform:translateY(-50%)scaleX(0)}to{transform:translateY(-50%)scaleX(1)}}.nicolas_sm_hero .hero_fill_text{background-image:linear-gradient(90deg, var(--fill-a) 0%, var(--fill-b) 25%, var(--fill-c) 50%, transparent 50%);animation:heroFill 1.4s var(--ease-out) forwards;animation-delay:calc(var(--hero-delay) + 1.1s);background-position:100% 0;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block}@keyframes heroFill{to{-webkit-text-stroke-color:var(--accent-text);background-position:0 0}}.nicolas_sm_hero .hero_scroll_title,.nicolas_sm_hero .overlay_el{animation:fadeUp 1s var(--ease-out) both}.nicolas_sm_hero .hero_scroll_title{animation-delay:calc(var(--hero-delay) + .7s)}.nicolas_sm_hero .overlay_el{animation-delay:calc(var(--hero-delay) + .85s)}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.chat_window,.profile_card{background:radial-gradient(120% 70% at 0% 0%, rgb(var(--accent-rgb) / .1), transparent 55%) padding-box, radial-gradient(rgb(var(--tint) / .035) 1px, transparent 1px) 0 0 / 22px 22px padding-box, linear-gradient(var(--surface), var(--surface)) padding-box, conic-gradient(from var(--chat-angle), var(--line) 0deg, var(--line) 210deg, var(--fill-a) 260deg, var(--fill-b) 300deg, var(--fill-c) 330deg, var(--line) 360deg) border-box;height:700px;box-shadow:0 20px 40px -20px var(--shadow-strong);border:1px solid #0000;border-radius:22px;flex-direction:column;display:flex;position:relative;overflow:hidden}.chat_window{animation:9s linear infinite chatBorderSpin}@keyframes chatBorderSpin{to{--chat-angle:360deg}}.chat_header{border-bottom:1px solid rgb(var(--tint) / .06);background:rgb(var(--surface-rgb) / .65);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.chat_identity{align-items:center;gap:14px;display:flex}.chat_avatar{flex-shrink:0;width:42px;height:42px;position:relative}.chat_avatar img{object-fit:cover;width:100%;height:100%;box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px rgb(var(--accent-rgb) / .75);border-radius:50%}.chat_avatar .status_dot{border:2px solid var(--surface);position:absolute;bottom:-1px;right:-1px}.chat_header h3{color:var(--text);font-family:var(--font-montserrat), sans-serif;letter-spacing:.03em;margin:0;font-size:16px;font-weight:700}.chat_header p{color:var(--subtle);font-family:var(--font-montserrat), sans-serif;margin:2px 0 0;font-size:12px}.status_dot{background-color:#3ddc84;border-radius:50%;width:11px;height:11px;animation:2.2s ease-out infinite statusPulse;display:block}@keyframes statusPulse{0%{box-shadow:0 0 #3ddc8499}70%,to{box-shadow:0 0 0 8px #3ddc8400}}.chat_reset{border:1px solid rgb(var(--tint) / .12);color:var(--text-soft);font-family:var(--font-montserrat), sans-serif;cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:12px;font-weight:600;transition:border-color .25s,color .25s}.chat_reset:not(:disabled):hover{border-color:var(--accent);color:var(--accent-text)}.chat_reset:disabled{opacity:.4;cursor:not-allowed}.chat_messages{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;gap:14px;padding:24px 22px;display:flex;overflow-y:auto}.chat_welcome{margin:auto 0;padding:8px 4px}.chat_welcome_mark{width:48px;height:48px;box-shadow:0 12px 30px -10px rgb(var(--accent-rgb) / .7);border-radius:13px;animation:6s ease-in-out infinite markFloat}@keyframes markFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-4deg)}}.chat_welcome h4{color:var(--text);font-family:var(--font-bebas), sans-serif;letter-spacing:.01em;margin:20px 0 8px;font-size:46px;font-weight:400;line-height:1}.chat_welcome p{max-width:520px;color:var(--text-dim);font-family:var(--font-montserrat), sans-serif;margin:0;font-size:14px;line-height:1.6}.chat_suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px;display:grid}.suggestion_card{border:1px solid rgb(var(--tint) / .08);background:rgb(var(--tint) / .03);text-align:left;cursor:pointer;transition:border-color .25s ease, background-color .25s ease, transform .3s var(--ease-out);animation:fadeUp .6s var(--ease-out) backwards;border-radius:14px;flex-direction:column;gap:6px;padding:14px 40px 14px 16px;display:flex;position:relative}.suggestion_card:nth-child(2){animation-delay:60ms}.suggestion_card:nth-child(3){animation-delay:.12s}.suggestion_card:nth-child(4){animation-delay:.18s}.suggestion_card:after{content:"↗";color:var(--faint);transition:color .25s ease, transform .3s var(--ease-out);font-size:15px;position:absolute;top:12px;right:14px}.suggestion_card:hover{border-color:var(--accent-soft);background:rgb(var(--accent-rgb) / .07);transform:translateY(-2px)}.suggestion_card:hover:after{color:var(--accent-text);transform:translate(2px,-2px)}.suggestion_label{color:var(--accent-text);font-family:var(--font-montserrat), sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.suggestion_question{color:var(--text-soft);font-family:var(--font-montserrat), sans-serif;font-size:14px;font-weight:500;line-height:1.4}.message{animation:messageIn .45s var(--ease-out) both;align-items:flex-end;gap:10px;display:flex}.ai_message{transform-origin:0 100%}.user_message{transform-origin:100% 100%;justify-content:flex-end}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.message_avatar{border-radius:8px;flex-shrink:0;width:28px;height:28px}.message_bubble{max-width:80%;padding:12px 16px}.message_bubble p{font-family:var(--font-montserrat), sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.ai_message .message_bubble{border:1px solid rgb(var(--tint) / .07);background:rgb(var(--tint) / .05);border-radius:18px 18px 18px 6px}.ai_message .message_bubble p{color:var(--text-soft)}.user_message .message_bubble{background:var(--accent-gradient);box-shadow:0 10px 24px -14px rgb(var(--accent-rgb) / .8);border-radius:18px 18px 6px}.user_message .message_bubble p{color:var(--on-accent);font-weight:500}.is_streaming .message_bubble p:after{content:"";background:var(--accent);vertical-align:-2px;border-radius:1px;width:7px;height:1em;margin-left:2px;animation:1s steps(2,start) infinite caretBlink;display:inline-block}@keyframes caretBlink{to{visibility:hidden}}.typing_dots{align-items:center;gap:5px;height:22px;display:flex}.typing_dots span{background-color:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingBounce}.typing_dots span:nth-child(2){animation-delay:.15s}.typing_dots span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat_composer{border-top:1px solid rgb(var(--tint) / .06);flex-shrink:0;padding:14px 18px 12px}.composer_field{border:1px solid rgb(var(--tint) / .1);background:rgb(var(--tint) / .04);border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 18px;transition:border-color .25s,box-shadow .25s,background-color .25s;display:flex}.composer_field:focus-within{border-color:var(--accent);background:rgb(var(--tint) / .06);box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .12)}.chat_input{min-width:0;color:var(--text);font-family:var(--font-montserrat), sans-serif;background:0 0;border:0;outline:none;flex:1;padding:10px 0;font-size:14px}.chat_input::placeholder{color:var(--subtle)}.chat_input:disabled{opacity:.6;cursor:not-allowed}.send_button{background:var(--accent);width:40px;height:40px;color:var(--on-accent);cursor:pointer;transition:transform .25s var(--ease-out), box-shadow .25s ease, background-color .25s ease;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send_button:not(:disabled):hover{box-shadow:0 0 0 5px rgb(var(--accent-rgb) / .15);transform:scale(1.07)}.send_button:disabled{background:rgb(var(--tint) / .08);color:var(--faint);cursor:not-allowed}.chat_footnote{color:var(--faint);font-family:var(--font-montserrat), sans-serif;text-align:center;margin:10px 0 0;font-size:11px}@media (max-width:1024px){.ai_chat_container{height:auto}.chat_window{height:620px}}@media (max-width:768px){.chat_window{border-radius:18px;height:calc(100svh - 140px);min-height:540px;max-height:720px}.chat_header,.chat_messages{padding-left:16px;padding-right:16px}.chat_composer{padding:12px 12px 10px}.chat_welcome h4{font-size:36px}.chat_suggestions{grid-template-columns:1fr;gap:8px}.suggestion_card{padding:12px 36px 12px 14px}.message_bubble{max-width:85%}}.profile_card{box-sizing:border-box;width:100%;color:var(--text);text-align:center;justify-content:center;align-items:center;gap:22px;padding:32px 28px}.profile_photo{width:100%;max-width:220px;margin-bottom:10px;position:relative}.profile_photo>img{aspect-ratio:1;object-fit:cover;border:1px solid rgb(var(--accent-rgb) / .35);width:100%;box-shadow:0 30px 70px -30px var(--accent-soft);transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out);border-radius:24px;display:block}.profile_photo:hover>img{box-shadow:0 40px 80px -30px rgb(var(--accent-rgb) / .55);transform:translateY(-6px)rotate(-1.5deg)}.profile_badge{border:1px solid rgb(var(--accent-rgb) / .45);background:rgb(var(--surface-rgb) / .92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--accent-text);font-family:var(--font-montserrat), sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 30px -10px var(--shadow-deep);border-radius:999px;align-items:center;gap:8px;padding:8px 18px 8px 16px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.profile_badge img{flex-shrink:0;width:14px;height:14px}.profile_badge span{margin-right:-.08em}.profile_info h4{color:var(--text);font-family:var(--font-bebas), sans-serif;letter-spacing:.02em;margin:0;font-size:34px;font-weight:400;line-height:1}.profile_role{color:var(--accent-text);font-family:var(--font-montserrat), sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:8px 0 14px;font-size:12px;font-weight:600}.profile_bio{max-width:340px;color:var(--text-dim);font-family:var(--font-montserrat), sans-serif;margin:0 auto;font-size:13px;line-height:1.65}.profile_stats,.profile_links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:340px;margin:0;padding:0;list-style:none;display:grid}.profile_stats li{border:1px solid rgb(var(--tint) / .06);background:rgb(var(--tint) / .03);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;display:flex}.profile_stats strong{background:linear-gradient(90deg, var(--fill-a), var(--fill-b), var(--fill-c));color:#0000;font-family:var(--font-bebas), sans-serif;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:400;line-height:1}.profile_stats span{color:var(--subtle);font-family:var(--font-montserrat), sans-serif;font-size:11px;line-height:1.35}.profile_links a{border:1px solid var(--line);background:rgb(var(--tint) / .03);color:var(--text);font-family:var(--font-montserrat), sans-serif;transition:background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.profile_links a img{width:14px;height:14px;filter:var(--icon-filter)}.profile_links a.is_primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.profile_links a.is_primary img{filter:brightness(0)}.profile_links a:hover{border-color:var(--accent);color:var(--accent-text);transform:translateY(-2px)}.profile_links a.is_primary:hover{background:var(--accent-hover);color:var(--on-accent)}.profile_footnote{color:var(--faint);font-family:var(--font-montserrat), sans-serif;margin:-6px 0 0;font-size:11px}.nicolas_sm_hero .overlay_el,.nicolas_sm_hero .overlay_bg:after,.nicolas_sm_hero .overlay_bg:before{border-radius:36px}.nicolas_sm_hero .overlay_bg:after{border:1px solid var(--line);box-sizing:border-box;background:linear-gradient(180deg, var(--frame-top), var(--frame-bottom))}.nicolas_sm_hero .overlay_content{padding:14px}.nicolas_sm_hero .hero_new_layout{gap:14px}@media (max-width:1024px){.profile_card{height:auto}}@media (max-width:768px){.nicolas_sm_hero .overlay_content{padding:10px}.nicolas_sm_hero .hero_new_layout{gap:10px;padding:0}.profile_card{padding:28px 18px}.profile_photo{max-width:200px}}.nicolas_sm_about .list_inner{border-radius:14px;position:relative;overflow:hidden}.nicolas_sm_about .list_inner:before{content:"";pointer-events:none;background:radial-gradient(circle at 0% 0%, rgb(var(--accent-rgb) / .14), transparent 60%);opacity:0;transition:opacity .4s;position:absolute;inset:0}.nicolas_sm_about .list_inner.highlight{border-color:rgb(var(--accent-rgb) / .25)}.nicolas_sm_about .list_inner.highlight span{color:var(--accent-text)}.nicolas_sm_about .list_inner:hover{border-color:var(--accent-soft);transform:translateY(-4px)}.nicolas_sm_about .list_inner:hover:before{opacity:1}.nicolas_sm_counter .skill_ring{z-index:1;pointer-events:none;background:conic-gradient(var(--fill-a) 0%, var(--fill-b) calc(var(--skill-fill) * 0.5%), var(--fill-c) calc(var(--skill-fill) * 1%), transparent 0);transition:--skill-fill 2.2s var(--ease-out) .3s, filter .4s ease;border-radius:50%;position:absolute;inset:-27px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px))}.nicolas_sm_counter .is-revealed .skill_ring,html:not(.reveal-ready) .nicolas_sm_counter .skill_ring{--skill-fill:100}.nicolas_sm_counter .skill_box{text-align:center;flex-direction:column;gap:12px;padding:0 16%}.nicolas_sm_counter .skill_title{font-size:18px;line-height:1.25}.nicolas_sm_counter .skill_proof{color:var(--muted);font-size:13px;line-height:1.5}.nicolas_sm_counter .icon img{width:40px;height:40px}.nicolas_sm_counter .list_inner:hover .skill_ring{filter:drop-shadow(0 0 6px rgb(var(--accent-rgb) / .7))}.nicolas_sm_counter .icon img{transition:transform .5s var(--ease-out)}.nicolas_sm_counter .list_inner:hover .icon img{transform:scale(1.12)rotate(-6deg)}.nicolas_sm_interactive_list .list_inner:after{content:"";z-index:-1;background-color:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .6s var(--ease-out);position:absolute;bottom:16px;left:0;transform:scaleX(0)}.nicolas_sm_interactive_list .list_inner:hover:after{transform:scaleX(1)}.nicolas_sm_interactive_list .title{transition:transform .5s var(--ease-out), color .3s ease}.nicolas_sm_interactive_list .list_inner:hover .title{color:var(--accent-text);transform:translate(24px)}.nicolas_sm_experience .list_inner{border-radius:14px;position:relative;overflow:hidden}.nicolas_sm_experience .list_inner:before{content:"";background-color:var(--accent);transform-origin:bottom;width:3px;transition:transform .45s var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.nicolas_sm_experience .list_inner:hover{border-color:var(--accent-soft);background-color:var(--bg-hover);transform:translate(6px)}.nicolas_sm_experience .list_inner:hover:before{transform:scaleY(1)}.nicolas_sm_experience .list_inner .right span{transition:color .3s}.nicolas_sm_experience .list_inner:hover .right span{color:var(--accent-text)}@media (prefers-reduced-motion:reduce){.nicolas_sm_hero:before,.nicolas_sm_hero *,.scroll_progress{animation:none!important}.scroll_progress{display:none}.reveal-ready [data-reveal],.reveal-ready [data-reveal]:not(.is-revealed){opacity:1;transition:none;transform:none}.reveal-ready .nicolas_sm_main_title[data-reveal]:before{transition:none;transform:none}.nicolas_sm_counter .skill_ring{transition:none}}
