@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap";.header{position:sticky;top:0;z-index:40;padding:1rem clamp(1rem,3vw,2rem) 0}.navbar{width:min(1180px,100%);margin:0 auto;padding:.9rem 1rem;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-card)}.brand-mark{display:inline-flex;align-items:center;gap:.9rem;text-decoration:none}.brand-monogram{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--gradient-highlight);color:var(--color-on-brand);font-family:var(--font-display);font-weight:700}.brand-copy{display:grid;font-family:var(--font-display);font-size:.96rem;font-weight:700;line-height:1.1}.brand-copy span{margin-top:.12rem;color:var(--color-text-muted);font-family:var(--font-body);font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nav-panel{display:flex;align-items:center;justify-content:flex-end;gap:.9rem}.nav-links{display:flex;align-items:center;gap:.2rem;list-style:none;margin:0;padding:0}.nav-links a{display:inline-flex;align-items:center;min-height:2.8rem;padding:0 .95rem;border-radius:999px;color:var(--color-text-muted);font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease}.nav-links a:hover{background:var(--color-highlight-soft);color:var(--color-text)}.burger{border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface-glass);color:var(--color-text)}.burger{display:none;width:2.9rem;height:2.9rem;padding:0;place-items:center;cursor:pointer}.burger span{display:block;width:1.2rem;height:2px;margin:.17rem auto;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.burger.toggle .line1{transform:translateY(6px) rotate(45deg)}.burger.toggle .line2{opacity:0}.burger.toggle .line3{transform:translateY(-6px) rotate(-45deg)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;background:var(--color-overlay);transition:opacity .2s ease}.nav-overlay--active{opacity:1;pointer-events:auto}.theme-switch--bb8{position:relative;display:inline-flex;align-items:center;justify-content:center;width:5.8rem;height:2.95rem;cursor:pointer}.theme-switch__checkbox{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-switch__track{position:relative;display:block;width:100%;height:100%;border:1px solid var(--color-border-strong);border-radius:999px;background:linear-gradient(135deg,#fff6cf,#ffd979 42%,#ffb13d);box-shadow:inset 0 1px #ffffff59,0 12px 24px var(--color-button-shadow);transition:background .28s ease,border-color .28s ease,box-shadow .28s ease;overflow:hidden}.theme-switch__checkbox:focus-visible+.theme-switch__track{outline:2px solid var(--color-accent);outline-offset:3px}.theme-switch__stars,.theme-switch__sun,.theme-switch__bb8,.theme-switch__bb8-head,.theme-switch__bb8-body{position:absolute}.theme-switch__stars{top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .28s ease}.theme-switch__stars:before,.theme-switch__stars:after{content:"";position:absolute;width:.22rem;height:.22rem;border-radius:50%;background:#ffffffd9;box-shadow:1rem .2rem #fffc,2.3rem -.12rem #ffffffb8,3.2rem .58rem #ffffffd1}.theme-switch__stars:before{top:.72rem;left:.78rem}.theme-switch__stars:after{top:1.15rem;left:1.6rem;width:.18rem;height:.18rem}.theme-switch__sun{top:.5rem;right:.72rem;width:1.1rem;height:1.1rem;border-radius:50%;background:radial-gradient(circle,#fff8d7,#ffd86c 56%,#f29b1f);box-shadow:0 0 0 .22rem #ffd86c3d;transition:transform .28s ease,opacity .28s ease}.theme-switch__bb8{bottom:.28rem;left:.36rem;width:2rem;height:2rem;transition:transform .34s ease}.theme-switch__bb8-head{top:.1rem;left:.55rem;width:.82rem;height:.48rem;border-radius:.82rem .82rem .3rem .3rem;background:linear-gradient(180deg,#ffffff 0%,var(--color-metal) 100%);border:1px solid var(--color-border-strong)}.theme-switch__bb8-head:before{content:"";position:absolute;top:.12rem;left:.14rem;width:.2rem;height:.2rem;border-radius:50%;background:#111827;box-shadow:.26rem .04rem 0 -.05rem var(--color-highlight),0 0 0 .06rem #ffffff8c}.theme-switch__bb8-body{bottom:0;left:.32rem;width:1.34rem;height:1.34rem;border-radius:50%;background:radial-gradient(circle at center,transparent 0 .28rem,var(--color-highlight) .29rem .43rem,transparent .44rem),linear-gradient(180deg,#f8fafc 0%,var(--color-metal) 100%);border:1px solid var(--color-border-strong);box-shadow:inset 0 -.08rem #1118271a}.theme-switch__bb8-body:before,.theme-switch__bb8-body:after{content:"";position:absolute;top:.24rem;right:.24rem;bottom:.24rem;left:.24rem;border-radius:50%;border:.12rem solid var(--color-highlight)}.theme-switch__bb8-body:after{inset:auto;top:.56rem;left:.12rem;width:1.1rem;height:.12rem;border:0;border-radius:999px;background:var(--color-accent-soft-strong)}.theme-switch__checkbox:checked+.theme-switch__track{border-color:var(--color-highlight-soft-strong);background:linear-gradient(135deg,#0b1220 0%,#152238 44%,var(--color-highlight) 100%);box-shadow:inset 0 1px #ffffff0d,0 12px 24px #02081747}.theme-switch__checkbox:checked+.theme-switch__track .theme-switch__stars{opacity:1}.theme-switch__checkbox:checked+.theme-switch__track .theme-switch__sun{transform:translateY(-.45rem) scale(.78);opacity:0}.theme-switch__checkbox:checked+.theme-switch__track .theme-switch__bb8{transform:translate(2.86rem) rotate(8deg)}@media screen and (max-width:980px){.navbar{grid-template-columns:auto auto;justify-content:space-between}.burger{display:grid}.nav-panel{position:fixed;top:5.5rem;right:1rem;left:1rem;flex-direction:column;align-items:stretch;padding:1rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.nav-panel--open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links{flex-direction:column;align-items:stretch}.nav-links a{justify-content:center;width:100%}.theme-switch--bb8{margin:0 auto}.brand-copy span{display:none}}@media screen and (max-width:640px){.header{padding-top:.75rem}.navbar{padding:.7rem .8rem}.brand-copy{font-size:.88rem}.brand-monogram{width:2.5rem;height:2.5rem}}.hero-section{padding-top:clamp(7rem,14vw,10rem);min-height:100vh}.hero-grid{display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,5rem)}.hero-copy,.hero-visual{flex:1 1 0}.hero-copy{max-width:620px}.hero-title{margin:1.1rem 0 1rem;font-family:var(--font-display);font-size:clamp(3rem,8vw,5.7rem);line-height:.94;letter-spacing:-.06em}.hero-subtitle{margin:0;max-width:54ch;font-size:clamp(1.05rem,2vw,1.24rem);color:var(--color-text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:2rem 0 1.6rem}.hero-highlights{display:grid;gap:1rem}.hero-highlight{padding:1rem 1.15rem}.hero-highlight strong{display:block;margin-bottom:.35rem;font-family:var(--font-display);font-size:1.02rem}.hero-highlight span{color:var(--color-text-muted)}.hero-visual{display:flex;justify-content:flex-end}.hero-portrait-shell{position:relative;width:min(440px,100%);padding:1rem;border-radius:calc(var(--radius-lg) + 6px);overflow:hidden}.hero-profile-pic{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:calc(var(--radius-lg) + 2px);box-shadow:var(--shadow-soft)}@media screen and (max-width:960px){.hero-grid{flex-direction:column;align-items:stretch}.hero-copy{max-width:none}.hero-visual{justify-content:center}.hero-portrait-shell{max-width:520px}}@media screen and (max-width:640px){.hero-section{padding-top:6.4rem}.hero-actions{flex-direction:column}.hero-actions .button,.hero-actions .button-secondary{width:100%}}.about-section{background:linear-gradient(180deg,transparent 0%,var(--color-surface-card) 100%)}.about-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);gap:1.35rem}.about-story,.about-facts,.interest-panel{padding:clamp(1.4rem,3vw,2rem)}.about-story{display:grid;gap:1.1rem}.about-story p{margin:0;color:var(--color-text-muted);font-size:1.02rem}.about-tagline{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--color-accent-strong);letter-spacing:.08em;text-transform:uppercase}.about-pill-list{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.25rem;align-items:center}.about-pill{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.75rem 1.15rem;border:0;border-radius:999px;background:var(--gradient-highlight);color:var(--color-panel-text-on);font-weight:700;line-height:1.2;text-align:center}.about-facts h3,.interest-header h3{margin:0 0 1rem;font-family:var(--font-display);font-size:1.55rem}.personal-infos{display:grid;gap:.9rem}.info{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--color-border)}.info:last-child{border-bottom:none;padding-bottom:0}.info-label{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-text-muted);font-weight:600}.info-value{color:var(--color-text);font-weight:700;text-align:right}.icons{color:var(--color-accent-strong);font-size:1.25rem}.interest-panel{margin-top:1.35rem}.interest-header{display:grid;gap:.45rem;margin-bottom:1.2rem}.interest-header p{margin:0;color:var(--color-text-muted)}.interests{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.interest-item{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--color-border);border-radius:22px;background:var(--gradient-accent-soft)}.interest-item h4,.interest-item p{margin:0}.interest-item h4{font-family:var(--font-display);font-size:1rem}.interest-item p{color:var(--color-text-muted);font-size:.92rem}.interest-icon{font-size:1.9rem;color:var(--color-highlight)}@media screen and (max-width:960px){.about-layout{grid-template-columns:1fr}.interests{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:640px){.info{flex-direction:column}.info-value{text-align:left}.interests{grid-template-columns:1fr}}.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 3px 0 4px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;-moz-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;-moz-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translateX(-100px)}60%{opacity:1;-moz-transform:translateX(20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);-ms-transform:translateX(-100px);-o-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);-moz-transform:translateX(20px);-ms-transform:translateX(20px);-o-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translateX(100px)}60%{opacity:1;-moz-transform:translateX(-20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);-moz-transform:translateX(100px);-ms-transform:translateX(100px);-o-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);-ms-transform:translateX(-20px);-o-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}.parcours-section{background:linear-gradient(180deg,var(--color-surface-card),transparent)}.timeline-shell{padding:1.2rem}.timeline-modal-head{display:grid;gap:.4rem;margin-bottom:1.3rem}.timeline-modal-date{margin:0;color:var(--color-accent-strong);font-size:.92rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.timeline-modal-title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.timeline-modal-subtitle{margin:0;color:var(--color-text-muted);font-size:1.05rem;font-weight:600}.timeline-modal-meta,.timeline-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.timeline-inline-separator{color:var(--color-border-strong);font-weight:600;line-height:1}.vertical-timeline-element-content{cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;background:transparent!important;border:1px solid var(--color-border-strong);box-shadow:var(--shadow-card)!important}.vertical-timeline-element-content:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)!important;border-color:var(--color-accent-soft-strong)}.expanded-content{text-align:left;color:var(--color-text)}.expanded-content p{margin:0 0 1rem;color:var(--color-text-muted)}.timeline-detail-block{margin-top:1.4rem}.competence-category{border:1px solid rgba(60,96,168,.2);border-radius:14px;margin-bottom:.8rem;background:var(--color-surface);overflow:hidden;box-shadow:0 2px 14px #0000000a}.competence-category-toggle{width:100%;text-align:left;background:linear-gradient(90deg,var(--color-surface),var(--color-surface));color:var(--color-text);border:0;padding:.72rem .95rem;font-size:.96rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .22s ease,color .22s ease}.competence-category-toggle span{color:var(--color-accent-strong);font-size:.95rem;transition:transform .2s ease;display:inline-flex;align-items:center}.competence-category-toggle:hover{background:linear-gradient(90deg,var(--color-accent-soft),var(--color-accent-soft-strong));color:var(--color-on-brand)}.competence-items{margin:0;padding:.76rem 1rem .9rem 1.05rem;color:var(--color-text-muted);border-top:1px solid rgba(60,96,168,.12)}.competence-items li{padding:.22rem 0;font-size:.92rem}.competence-grid{display:grid;gap:.85rem;grid-template-columns:1fr;align-items:start}@media(min-width:900px){.competence-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.competence-category{position:relative;border:1px solid rgba(90,118,174,.25);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#fefeffe6);box-shadow:0 6px 18px #00000012;overflow:hidden}.competence-category:before{content:"";position:absolute;top:-9px;left:1.2rem;width:5.5rem;height:.95rem;border-radius:0 0 7px 7px;background:var(--color-accent-soft);box-shadow:inset 0 -1px #00000014}.competence-category-toggle{width:100%;color:var(--color-text);border:0;background:var(--color-accent-soft);padding:.8rem 1rem;font-size:.96rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem;z-index:1}.competence-category-toggle span{color:var(--color-accent-strong);font-size:.95rem;transform:rotate(0);transition:transform .2s ease}.competence-category-toggle.open span{transform:rotate(90deg)}.competence-category-toggle:hover{background:var(--color-highlight)}.competence-items{margin:0;padding:.7rem 1.05rem .9rem;color:var(--color-text-muted);border-top:1px solid rgba(90,118,174,.14)}.timeline-detail-block h4{margin:0 0 .8rem;font-family:var(--font-display);font-size:1.08rem}.timeline-detail-list{display:grid;gap:.65rem;margin:0;padding-left:1.2rem;color:var(--color-text-muted)}.card-inner{display:grid;gap:.55rem}.timeline-badge{display:inline-flex;width:fit-content;padding:.35rem .65rem;border-radius:999px;background:var(--gradient-accent-soft);color:var(--color-accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0!important}.vertical-timeline-element-title{font-family:var(--font-display);font-size:1.25rem}.vertical-timeline-element-subtitle{color:var(--color-text-muted);font-weight:600}.timeline-meta{color:var(--color-accent-strong);font-weight:700}.parcours-section .vertical-timeline-element{position:relative}.vertical-timeline-element-date{color:var(--color-accent-strong)!important;font-size:.85rem!important;font-weight:700!important;white-space:nowrap}.vertical-timeline-element-icon{box-shadow:0 0 0 10px var(--color-background)!important}.vertical-timeline:before{background:var(--color-accent-soft-strong)!important}@media(max-width:768px){.timeline-shell{padding:.8rem}.parcours-section .vertical-timeline-element-date{position:static;display:block;text-align:left;margin-bottom:.5rem;margin-left:2.5rem}.parcours-section .vertical-timeline-element-icon{left:0!important;transform:none!important}.parcours-section .vertical-timeline-element-content{width:calc(100% - 2rem)!important;max-width:100%!important;margin-left:2rem!important;margin-right:0!important;padding:1rem!important}.parcours-section .vertical-timeline-element:nth-child(2n) .vertical-timeline-element-content,.parcours-section .vertical-timeline-element:nth-child(odd) .vertical-timeline-element-content{margin-left:2rem!important;margin-right:0!important}.vertical-timeline:before{left:0!important;transform:none!important}}@media(max-width:480px){.parcours-section .vertical-timeline-element-date{margin-left:1.5rem}.parcours-section .vertical-timeline-element-icon{left:0!important;width:28px!important;height:28px!important}.parcours-section .vertical-timeline-element-content{width:calc(100% - 1.5rem)!important;max-width:100%!important;margin-left:1.5rem!important;margin-right:0!important;padding:.9rem .75rem!important}.parcours-section .vertical-timeline-element-content h3{font-size:.9rem;line-height:1.3}.parcours-section .vertical-timeline-element-content h4{font-size:.8rem}.parcours-section .vertical-timeline-element-content p{font-size:.75rem;line-height:1.4}}.projects-section{background:linear-gradient(180deg,transparent 0%,var(--color-surface-card) 100%)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;align-items:stretch}.projects-secondary-heading{margin-top:3rem;margin-bottom:1.5rem}.project-card{display:grid;grid-template-rows:auto minmax(6rem,1fr) auto auto;align-content:start;gap:1.15rem;height:100%;padding:1.5rem;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.project-card h3{margin:0;font-family:var(--font-display);font-size:1.4rem}.project-modal-content{display:grid;gap:1.6rem}.project-modal-header{display:grid;gap:.55rem;max-width:46rem;padding-right:3.5rem}.project-modal-eyebrow{margin:0;color:var(--color-accent-strong);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-modal-title{margin:0;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);line-height:1}.project-modal-lead{margin:0;color:var(--color-text-muted);font-size:1.02rem;line-height:1.7}.project-modal-layout{display:grid;gap:1rem}.project-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.modal-section{display:grid;gap:1rem;padding:1.35rem;border-radius:26px;border:1px solid var(--color-border);background:linear-gradient(180deg,#ffffffa8,#d9d9d957),var(--color-surface-card)}.dark-mode .modal-section{background:linear-gradient(180deg,#ffffff12,#ffffff08),#ffffff0a}.modal-section--hero{padding:1.55rem}.modal-section--meta{align-content:start}.modal-section--cta{align-items:center}.modal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-section-kicker{display:inline-flex;margin-bottom:.35rem;color:var(--color-accent-strong);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.modal-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .55rem;border-radius:999px;background:var(--color-chip-background);color:var(--color-text-muted);font-size:.78rem;font-weight:700}.modal-section-title{margin:0;font-family:var(--font-display);font-size:1.12rem}.modal-section-content{margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.7}.gitlab-section{grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:1rem}.modal-tech-badges{gap:.75rem}.project-modal-footer-copy{display:grid;gap:.45rem}.project-modal-footer-note{margin:0;color:var(--color-text-muted);line-height:1.65}.project-button-modal{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:3.25rem;padding:.95rem 1.3rem;text-decoration:none;border-radius:999px;font-weight:700;color:var(--color-on-brand);background:var(--gradient-highlight)}.project-button-modal:hover:not(.disabled){transform:translateY(-2px)}.project-button-modal.disabled{background:#94a3b8bf;cursor:not-allowed}.project-card-head{display:grid;gap:.5rem;align-content:start}.project-card-tag{display:inline-flex;width:fit-content;padding:.35rem .65rem;border-radius:999px;background:var(--gradient-accent-soft);color:var(--color-accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-card[style*="cursor: pointer"]:hover{transform:translateY(-8px);box-shadow:var(--shadow-soft)}.project-card p{margin:0;color:var(--color-text-muted)}.project-preview-stack{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.project-stack-chip{padding:.42rem .7rem;border-radius:999px;background:var(--color-chip-background);color:var(--color-text);font-size:.85rem;font-weight:600}.project-cta{align-self:end;color:var(--color-accent-strong);font-weight:700}.resource-actions{display:flex;flex-wrap:wrap;gap:.85rem}@media screen and (max-width:600px){.modal-section{padding:1rem}.project-modal-header{padding-right:0}.gitlab-section{grid-template-columns:1fr}.resource-actions{flex-direction:column}.resource-actions .button,.resource-actions .button-secondary,.project-button,.project-button-modal{width:100%}}.skills-section{background:radial-gradient(circle at top right,var(--color-accent-soft-strong),transparent 34%),radial-gradient(circle at bottom left,var(--color-highlight-soft),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.12),transparent)}.skills-board{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);gap:1.4rem;padding:clamp(1.2rem,2vw,1.6rem);overflow:hidden}.skills-switcher{display:grid;gap:.85rem}.skills-switcher__item{display:grid;grid-template-columns:auto 1fr;gap:.95rem;align-items:start;padding:1rem;border:1px solid var(--color-accent-soft);border-radius:24px;background:var(--color-surface-glass);color:var(--color-text);text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background-color .22s ease,box-shadow .22s ease}.skills-switcher__item:hover,.skills-switcher__item.is-active{transform:translateY(-2px);border-color:var(--color-accent-soft-strong);box-shadow:0 18px 30px #10182814}.skills-switcher__item.is-active{background:var(--gradient-accent-soft)}.skills-switcher__signal{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;height:3rem;border-radius:18px;background:var(--gradient-highlight);color:var(--color-on-brand);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.skills-switcher__copy{display:grid;gap:.3rem}.skills-switcher__copy strong{font-family:var(--font-display);font-size:1rem}.skills-switcher__copy span{color:var(--color-text-muted);font-size:.92rem;line-height:1.55}.skills-panel{display:grid;gap:1.25rem;padding:1.35rem;border-radius:28px;border:1px solid var(--color-accent-soft-strong);background:var(--gradient-panel);color:var(--color-panel-text)}.skills-panel__header{display:grid;gap:.45rem}.skills-panel__eyebrow{color:var(--color-accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.skills-panel__header h3{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.1rem)}.skills-panel__header p{margin:0;max-width:42rem;color:var(--color-panel-text-muted);line-height:1.7}.skills-cluster{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.9rem}.skill-node{display:flex;flex:0 1 220px;flex-direction:column;gap:.95rem;width:min(100%,240px);min-height:0;padding:1rem 1rem 1.05rem;border:0;border-radius:24px;background:var(--gradient-highlight);color:var(--color-on-brand);transition:transform .22s ease,border-color .22s ease,background-color .22s ease}.skill-node:hover{transform:translateY(-3px);filter:brightness(1.1)}.skill-node--primary{background:var(--gradient-highlight);border-color:transparent}.skill-node__index{color:#ffffffd9;font-size:.78rem;font-weight:700;letter-spacing:.12em}.skill-node__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.skill-node__tag{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;padding:.28rem .55rem;border-radius:999px;background:#fff3;color:#ffffffe6;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.skill-node__main{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:center}.skill-icon,.skill-placeholder{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:16px;background:#ffffff26;color:#fffffff2;font-size:1.25rem}.skill-node__text{display:grid;gap:.24rem}.skill-name{font-family:var(--font-display);font-size:1.02rem;font-weight:700;line-height:1.35;color:#fffffff2}.skill-node__context{color:#ffffffbf;font-size:.84rem;line-height:1.4}:not(.dark-mode) .skills-panel{color:#000;border-color:#00000014}:not(.dark-mode) .skills-panel__eyebrow{color:#800020}:not(.dark-mode) .skills-panel__header p{color:#5c6878}.dark-mode .skills-panel{color:var(--color-panel-text);border-color:var(--color-border-strong)}.dark-mode .skills-panel__eyebrow{color:var(--color-accent-strong)}.dark-mode .skills-panel__header p{color:var(--color-panel-text-muted)}@media screen and (max-width:960px){.skills-board{grid-template-columns:1fr}.skills-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:720px){.skills-switcher{grid-template-columns:1fr}.skills-panel,.skills-board{padding:1rem}.skills-cluster{justify-content:center}.skill-node{width:100%;flex-basis:100%}}.contact-section{padding-top:1rem}.contact-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:1.5rem;align-items:center;padding:clamp(1.4rem,4vw,2rem)}.contact-copy{display:grid;gap:1rem}.contact-inline-link{color:var(--color-accent-strong);font-weight:700;text-decoration:none}.contact-inline-link:hover{text-decoration:underline}.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.social-button{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.9rem 1.2rem;border:0;border-radius:999px;text-decoration:none;font-weight:700;color:var(--color-on-brand);transition:transform .2s ease,box-shadow .2s ease}.social-button:hover{transform:translateY(-2px)}.social-button--linkedin{background:linear-gradient(135deg,#0a66c2,#0f89ff)}.social-button--linkedin:hover{box-shadow:0 12px 22px #0a66c247}.social-button--mail{background:var(--gradient-highlight)}.social-button--mail:hover{box-shadow:0 12px 22px var(--color-highlight-soft-strong)}.social-button--gitlab{background:linear-gradient(135deg,#fc6d26,#d84e13)}.social-button--gitlab:hover{box-shadow:0 12px 22px #fc6d2647}.social-icon{font-size:1.2rem}.social-button-text{display:grid;gap:.1rem;line-height:1.1}.social-button-subtext{font-size:.82rem;font-weight:600;opacity:.95}.social-button--whatsapp{background:linear-gradient(135deg,#1aa05a,#25d366)}.social-button--whatsapp:hover{box-shadow:0 12px 22px #25d36652}@media screen and (max-width:840px){.contact-card,.social-links{grid-template-columns:1fr}}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem clamp(1.25rem,4vw,3rem) 2rem;border-top:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.92rem}.footer p,.footer span{margin:0}.footer p{font-family:var(--font-display);color:var(--color-text);font-weight:700}@media screen and (max-width:640px){.footer{justify-content:center;text-align:center}}.main-content{position:relative;min-height:100vh;isolation:isolate}:root{--font-body: "IBM Plex Sans", "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Segoe UI", sans-serif;--color-metal: #d9d9d9;--color-background: #eef1f4;--color-background-strong: #d9d9d9;--color-surface: rgba(255, 255, 255, .74);--color-surface-strong: #ffffff;--color-surface-muted: rgba(246, 247, 249, .88);--color-surface-glass: rgba(255, 255, 255, .48);--color-surface-card: rgba(255, 255, 255, .56);--color-surface-contrast: rgba(255, 255, 255, .08);--color-text: #1b2430;--color-text-muted: #5c6878;--color-accent: #4682b4;--color-accent-strong: #325f85;--color-highlight: #800020;--color-highlight-strong: #600018;--color-panel: #202b38;--color-panel-text: #f4f7fb;--color-panel-text-muted: rgba(228, 234, 242, .78);--color-on-brand: #ffffff;--color-border: rgba(27, 36, 48, .1);--color-border-strong: rgba(27, 36, 48, .18);--color-shadow: rgba(12, 18, 28, .12);--color-overlay: rgba(10, 16, 24, .62);--color-grid-line: rgba(27, 36, 48, .035);--color-accent-soft: rgba(70, 130, 180, .12);--color-accent-soft-strong: rgba(70, 130, 180, .2);--color-highlight-soft: rgba(128, 0, 32, .1);--color-highlight-soft-strong: rgba(128, 0, 32, .18);--color-chip-background: rgba(27, 36, 48, .06);--color-button-shadow: rgba(70, 130, 180, .18);--gradient-page: radial-gradient(circle at top left, rgba(70, 130, 180, .16), transparent 28%), radial-gradient(circle at top right, rgba(128, 0, 32, .14), transparent 24%), linear-gradient(180deg, var(--color-background) 0%, var(--color-background-strong) 100%);--gradient-accent: linear-gradient( 135deg, rgba(255, 255, 255, .9) 0%, rgba(217, 217, 217, .78) 28%, var(--color-accent) 100% );--gradient-accent-soft: linear-gradient( 135deg, rgba(255, 255, 255, .92) 0%, rgba(217, 217, 217, .72) 42%, rgba(70, 130, 180, .16) 100% );--gradient-highlight: linear-gradient( 135deg, rgba(255, 255, 255, .9) 0%, rgba(217, 217, 217, .78) 5%, var(--color-highlight) 95% );--gradient-highlight-soft: linear-gradient( 135deg, rgba(255, 255, 255, .92) 0%, rgba(217, 217, 217, .72) 42%, rgba(128, 0, 32, .16) 100% );--gradient-dialog: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(217, 217, 217, .58)), var(--color-surface-strong);--gradient-panel: radial-gradient(circle at top right, rgba(150, 150, 150, .2), transparent 40%), radial-gradient(circle at bottom left, rgba(150, 150, 150, .15), transparent 40%), #c5c5c5;--radius-sm: 14px;--radius-md: 22px;--radius-lg: 32px;--shadow-soft: 0 18px 50px var(--color-shadow);--shadow-card: 0 10px 30px rgba(18, 28, 40, .08)}.dark-mode{--color-metal: #9aa3b0;--color-background: #0f141d;--color-background-strong: #192230;--color-surface: rgba(24, 33, 46, .84);--color-surface-strong: #1b2431;--color-surface-muted: rgba(31, 42, 56, .92);--color-surface-glass: rgba(255, 255, 255, .06);--color-surface-card: rgba(255, 255, 255, .08);--color-surface-contrast: rgba(255, 255, 255, .1);--color-text: #edf3f9;--color-text-muted: #a8b6c7;--color-accent: #5f9bcc;--color-accent-strong: #9bc5e3;--color-highlight: #a12e49;--color-highlight-strong: #cf6c86;--color-panel: #141d29;--color-panel-text: #f3f7fb;--color-panel-text-muted: rgba(218, 226, 235, .78);--color-border: rgba(227, 236, 244, .08);--color-border-strong: rgba(227, 236, 244, .16);--color-shadow: rgba(2, 7, 18, .46);--color-overlay: rgba(2, 7, 16, .72);--color-grid-line: rgba(237, 243, 249, .04);--color-accent-soft: rgba(95, 155, 204, .18);--color-accent-soft-strong: rgba(95, 155, 204, .28);--color-highlight-soft: rgba(161, 46, 73, .18);--color-highlight-soft-strong: rgba(161, 46, 73, .28);--color-chip-background: rgba(255, 255, 255, .08);--color-button-shadow: rgba(95, 155, 204, .22);--gradient-page: radial-gradient(circle at top left, rgba(95, 155, 204, .2), transparent 32%), radial-gradient(circle at top right, rgba(161, 46, 73, .18), transparent 26%), linear-gradient(180deg, var(--color-background) 0%, var(--color-background-strong) 100%);--gradient-accent: linear-gradient( 135deg, rgba(238, 243, 248, .16) 0%, rgba(154, 163, 176, .18) 26%, var(--color-accent) 100% );--gradient-accent-soft: linear-gradient( 135deg, rgba(238, 243, 248, .1) 0%, rgba(154, 163, 176, .12) 38%, rgba(95, 155, 204, .2) 100% );--gradient-highlight: linear-gradient( 135deg, rgba(238, 243, 248, .16) 0%, rgba(154, 163, 176, .18) 18%, var(--color-highlight) 80% );--gradient-highlight-soft: linear-gradient( 135deg, rgba(238, 243, 248, .1) 0%, rgba(154, 163, 176, .12) 38%, rgba(161, 46, 73, .22) 100% );--gradient-dialog: linear-gradient(180deg, rgba(28, 39, 55, .98), rgba(18, 25, 36, .98)), var(--color-surface-strong);--gradient-panel: radial-gradient(circle at top right, rgba(95, 155, 204, .2), transparent 36%), radial-gradient(circle at bottom left, rgba(161, 46, 73, .18), transparent 40%), rgba(20, 29, 41, .96);--shadow-card: 0 10px 30px rgba(2, 7, 18, .26)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:hidden;font-family:var(--font-body);color:var(--color-text);background:var(--gradient-page);transition:background-color .35s ease,color .35s ease;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 80%);mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 80%);opacity:.45}a{color:inherit}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}::selection{background:var(--color-accent-soft-strong);color:var(--color-text)}section{position:relative;width:100%}.section-shell{padding:clamp(4.5rem,8vw,7rem) clamp(1.25rem,4vw,3rem)}.section-inner{width:min(1180px,100%);margin:0 auto}.section-heading{display:grid;gap:.9rem;max-width:760px;margin-bottom:clamp(2rem,4vw,3.25rem)}.section-heading--center{margin-left:auto;margin-right:auto;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;width:fit-content;padding:.45rem .85rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--gradient-accent-soft);color:var(--color-accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.section-title{margin:0;font-family:var(--font-display);font-size:clamp(2rem,6vw,4rem);line-height:.98;letter-spacing:-.04em}.section-description{margin:0;color:var(--color-text-muted);font-size:clamp(1rem,2vw,1.12rem)}.card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.button,.button-secondary,.project-button-modal,.project-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.2rem;padding:.9rem 1.25rem;border:0;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.button,.project-button-modal,.project-button{background:var(--gradient-highlight);color:var(--color-on-brand);box-shadow:0 12px 24px var(--color-button-shadow)}.button-secondary{background:var(--color-surface-glass);color:var(--color-text);border-color:var(--color-border-strong)}.button:hover,.button-secondary:hover{transform:translateY(-2px)}.tech-badges{display:flex;flex-wrap:wrap;gap:.65rem}.tech-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem .9rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface-card);color:var(--color-text);font-size:.92rem;font-weight:600}.tech-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--color-accent-strong);flex-shrink:0}.logo-img,.icon-svg{width:100%;height:100%;object-fit:contain}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}.dialog-panel{position:fixed;top:50%;left:50%;width:min(920px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:clamp(1.4rem,4vw,2.2rem);overflow-y:auto;transform:translate(-50%,-50%);border:1px solid var(--color-border-strong);border-radius:calc(var(--radius-md) + 6px);background:var(--gradient-dialog);box-shadow:0 28px 80px #09101e3d;z-index:1001}.dialog-close{position:sticky;top:0;margin-left:auto;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;z-index:2}.fade-in-on-scroll,.slide-up-on-scroll{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}.slide-up-on-scroll{transform:translateY(38px)}.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.fade-in-on-scroll,.slide-up-on-scroll,.is-visible{opacity:1;transform:none}}
