.elementor-28 .elementor-element.elementor-element-cfab5b3 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-28 .elementor-element.elementor-element-cfab5b3:not(.elementor-motion-effects-element-type-background), .elementor-28 .elementor-element.elementor-element-cfab5b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F172A;}.elementor-28 .elementor-element.elementor-element-cfab5b3 > .elementor-container{min-height:100vh;}.elementor-28 .elementor-element.elementor-element-cfab5b3{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-28 .elementor-element.elementor-element-cfab5b3 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-28 .elementor-element.elementor-element-3256632 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-28 .elementor-element.elementor-element-3256632 > .elementor-container{min-height:3750px;}.elementor-28 .elementor-element.elementor-element-3256632{padding:0px 60px 00px 300px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-28 .elementor-element.elementor-element-56a2436 > .elementor-widget-container{margin:0px 0px -20px 0px;}.elementor-28 .elementor-element.elementor-element-56a2436 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:45px;font-weight:900;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-28 .elementor-element.elementor-element-aef75d3 > .elementor-widget-container{margin:0px 0px -25px 0px;}.elementor-28 .elementor-element.elementor-element-aef75d3{font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;color:#FFFFFF;}.elementor-28 .elementor-element.elementor-element-5a9a32b{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;color:#FFFFFF;}.elementor-28 .elementor-element.elementor-element-95e6e37 > .elementor-widget-container{margin:-20px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-a7e8926{--grid-template-columns:repeat(0, auto);--icon-size:24px;--grid-column-gap:11px;--grid-row-gap:0px;}.elementor-28 .elementor-element.elementor-element-a7e8926 .elementor-widget-container{text-align:left;}.elementor-28 .elementor-element.elementor-element-a7e8926 .elementor-social-icon{--icon-padding:0.4em;}.elementor-28 .elementor-element.elementor-element-a7e8926 .elementor-icon{border-radius:100px 100px 100px 100px;}.elementor-28 .elementor-element.elementor-element-c7785b1{--spacer-size:50px;}.elementor-28 .elementor-element.elementor-element-0ac29bb > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-28 .elementor-element.elementor-element-fd3417f{padding:60px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-2b92c94{--spacer-size:50px;}.elementor-28 .elementor-element.elementor-element-fcbced6{font-family:"Inter", Sans-serif;font-weight:600;text-transform:uppercase;color:#FFFFFF;}.elementor-28 .elementor-element.elementor-element-04eedbd{width:var( --container-widget-width, 99.895% );max-width:99.895%;--container-widget-width:99.895%;--container-widget-flex-grow:0;text-align:start;font-family:"Inter", Sans-serif;font-weight:400;color:#E3E7F8DE;}.elementor-28 .elementor-element.elementor-element-04eedbd > .elementor-widget-container{margin:0px 0px 0px 200px;}.elementor-28 .elementor-element.elementor-element-d555570{--spacer-size:100px;}.elementor-28 .elementor-element.elementor-element-214ddbd{font-family:"Inter", Sans-serif;font-weight:600;text-transform:uppercase;color:#FFFFFF;}.elementor-28 .elementor-element.elementor-element-4f0e9d2{--spacer-size:20px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-28 .elementor-element.elementor-element-ff818da .elementor-button{background-color:#162938;font-family:"Roboto Mono", Sans-serif;font-weight:500;fill:#64FFDA;color:#64FFDA;border-style:solid;border-width:2px 2px 2px 2px;border-radius:4px 4px 4px 4px;}.elementor-28 .elementor-element.elementor-element-ff818da .elementor-button:hover, .elementor-28 .elementor-element.elementor-element-ff818da .elementor-button:focus{background-color:#202C47;}.elementor-28 .elementor-element.elementor-element-ff818da > .elementor-widget-container{margin:0px 0px 0px 230px;}.elementor-28 .elementor-element.elementor-element-003ea41{--spacer-size:66px;}.elementor-28 .elementor-element.elementor-element-45fb6c2{font-family:"Inter", Sans-serif;font-weight:600;text-transform:uppercase;color:#FFFFFF;}.elementor-28 .elementor-element.elementor-element-b660966 .elementor-button{background-color:#162938;font-family:"Roboto Mono", Sans-serif;font-weight:500;fill:#64FFDA;color:#64FFDA;border-style:solid;border-width:2px 2px 2px 2px;border-radius:4px 4px 4px 4px;}.elementor-28 .elementor-element.elementor-element-b660966 .elementor-button:hover, .elementor-28 .elementor-element.elementor-element-b660966 .elementor-button:focus{background-color:#202C47;}.elementor-28 .elementor-element.elementor-element-b660966 > .elementor-widget-container{margin:-90px 0px 0px 55px;}@media(min-width:768px){.elementor-28 .elementor-element.elementor-element-638ff32{width:40.008%;}.elementor-28 .elementor-element.elementor-element-067ffd1{width:100%;}.elementor-28 .elementor-element.elementor-element-0ac29bb{width:59.597%;}}@media(max-width:767px){.elementor-28 .elementor-element.elementor-element-cfab5b3 > .elementor-container{min-height:0vh;}.elementor-28 .elementor-element.elementor-element-638ff32 > .elementor-element-populated{margin:135px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-28 .elementor-element.elementor-element-3256632{margin-top:-93px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-5a9a32b > .elementor-widget-container{margin:0px 0px -60px 0px;}.elementor-28 .elementor-element.elementor-element-a7e8926 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-0ac29bb > .elementor-element-populated{margin:-192px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-28 .elementor-element.elementor-element-fd3417f{margin-top:-3100px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-fcbced6 > .elementor-widget-container{margin:0px 0px -35px 0px;}.elementor-28 .elementor-element.elementor-element-fcbced6{font-size:19px;}.elementor-28 .elementor-element.elementor-element-04eedbd > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-d555570{--spacer-size:20px;}.elementor-28 .elementor-element.elementor-element-df1eb8f{margin-top:-2200px;margin-bottom:0px;}.elementor-28 .elementor-element.elementor-element-214ddbd > .elementor-widget-container{margin:0px 0px -35px 0px;}.elementor-28 .elementor-element.elementor-element-214ddbd{font-size:19px;}.elementor-28 .elementor-element.elementor-element-ff818da > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-003ea41{--spacer-size:60px;}.elementor-28 .elementor-element.elementor-element-45fb6c2 > .elementor-widget-container{margin:0px 0px -35px 0px;}.elementor-28 .elementor-element.elementor-element-45fb6c2{font-size:19px;}.elementor-28 .elementor-element.elementor-element-4c0e8bd > .elementor-widget-container{margin:-50px 0px 0px -45px;}}/* Start custom CSS for html, class: .elementor-element-95e6e37 */.sidebar-menu{
    display:flex;
    flex-direction:column;
    gap:28px;

    margin-top:60px;
}

.menu-item{
    display:flex;
    align-items:center;
    gap:16px;

    text-decoration:none;

    opacity:0.55;

    transition:all 0.3s ease;
}

.menu-line{
    width:32px;
    height:1px;

    background:#8892b0;

    transition:all 0.3s ease;
}

.menu-text{
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;

    color:#8892b0;

    transition:all 0.3s ease;
}

.menu-item:hover{
    opacity:1;
}

.menu-item:hover .menu-line{
    width:64px;
    background:#ccd6f6;
}

.menu-item:hover .menu-text{
    color:#ccd6f6;
}

.menu-item.active{
    opacity:1;
}

.menu-item.active .menu-line{
    width:64px;
    background:#ccd6f6;
}

.menu-item.active .menu-text{
    color:#ccd6f6;
}/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-638ff32 */.elementor-28 .elementor-element.elementor-element-638ff32{
    position: sticky;
    top: 140px;
    height: calc(100vh - 80px);
    align-self: flex-start;
}

@media (max-width: 1024px){

.elementor-28 .elementor-element.elementor-element-638ff32{
    position: static !important;
    top: auto !important;
    height: auto !important;
    align-self: auto !important;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-37f2308 *//* =============================================
   EXPERIENCE — Brittany Chiang style
   Scoped to .bc-exp to avoid Elementor conflicts
   ============================================= */

.bc-exp {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 0;
}

/* Reset ol */
.bc-exp__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* ── Card ── */
.bc-exp__card {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 0 20px;
  padding: 18px 20px;
  border-radius: 6px;
  position: relative;
  transition: background 0.22s ease, box-shadow 0.22s ease;
  cursor: default;
}

.bc-exp__card:hover {
  background: rgba(100, 255, 218, 0.045);
  box-shadow:
    inset 0 0 0 1px rgba(100, 255, 218, 0.07),
    0 4px 24px rgba(2, 12, 27, 0.25);
}

/* ── Year column ── */
.bc-exp__year {
  padding-top: 3px;
  font-family: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', monospace;
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8892b0;
  line-height: 1.5;
  white-space: nowrap;
  transition: color 0.22s ease;
}

.bc-exp__card:hover .bc-exp__year {
  color: #a8b2d8;
}

/* ── Right column ── */
.bc-exp__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ── Title ── */
.bc-exp__title {
  font-family: 'Calibre', 'Inter', -apple-system, BlinkMacSystemFont,
    'Segoe UI', sans-serif;
  font-size: 15.5px;
  font-weight: 600;
  color: #ccd6f6;
  line-height: 1.3;
  margin: 0;
  padding: 0;
  letter-spacing: 0.01em;
  transition: color 0.22s ease;
}

.bc-exp__card:hover .bc-exp__title {
  color: #64ffda;
}

/* ── Description ── */
.bc-exp__desc {
  font-family: 'Calibre', 'Inter', -apple-system, BlinkMacSystemFont,
    'Segoe UI', sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  color: #8892b0;
  line-height: 1.72;
  margin: 0;
  padding: 0;
  transition: color 0.22s ease;
}

.bc-exp__card:hover .bc-exp__desc {
  color: #a8b2d8;
}

/* ── Tags ── */
.bc-exp__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  list-style: none;
  margin: 2px 0 0 0;
  padding: 0;
}

.bc-exp__tag {
  display: inline-block;
  font-family: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #64ffda;
  background: rgba(100, 255, 218, 0.09);
  padding: 4px 11px;
  border-radius: 30px;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
  margin: 0;
}

.bc-exp__card:hover .bc-exp__tag {
  background: rgba(100, 255, 218, 0.14);
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .bc-exp__card {
    grid-template-columns: 1fr;
    gap: 6px 0;
    padding: 16px 14px;
  }

  .bc-exp__year {
    font-size: 11px;
    padding-top: 0;
  }

  .bc-exp__title {
    font-size: 14.5px;
  }

  .bc-exp__desc {
    font-size: 13px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4c0e8bd */.fp{
max-width:1200px;
margin:0 auto;
padding:100px 0;
width:100%;
}

.fp__heading{
display:flex;
align-items:center;
gap:12px;
font-size:32px;
font-weight:700;
color:#ccd6f6;
margin-bottom:60px;
}

.fp__heading::after{
content:'';
height:1px;
flex:1;
max-width:300px;
background:#233554;
}

.fp__num{
color:#64ffda;
font-size:18px;
font-family:monospace;
}

.fp__list{
display:flex;
flex-direction:column;
gap:40px;
}

.fp__item{
display:grid;
grid-template-columns:520px 1fr;
align-items:center;
gap:70px;
padding:35px;
background:rgba(17,34,64,.22);
border-radius:10px;
border:1px solid rgba(100,255,218,.04);
transition:.35s ease;
overflow:hidden;
}

.fp__item:hover{
transform:translateY(-4px);
background:rgba(17,34,64,.35);
border-color:rgba(100,255,218,.12);
}

.fp__content{
width:100%;
position:relative;
z-index:2;
}

.fp__label{
font-size:13px;
font-family:monospace;
color:#64ffda;
margin-bottom:12px;
letter-spacing:.05em;
}

.fp__title{
font-size:48px;
line-height:1.05;
font-weight:700;
color:#e6f1ff;
margin-bottom:24px;
transition:.3s ease;
}

.fp__title-link{
text-decoration:none;
}

.fp__title-link:hover .fp__title{
color:#64ffda;
}

.fp__desc{
background:#13284d;
padding:28px;
border-radius:8px;
margin-bottom:24px;
box-shadow:0 10px 30px rgba(2,12,27,.25);
}

.fp__desc p{
margin:0;
color:#c9d4f3;
line-height:1.9;
font-size:16px;
font-weight:400;
}

.fp__tech{
display:flex;
flex-wrap:wrap;
gap:10px;
list-style:none;
padding:0;
margin:0;
}

.fp__tech li{
background:rgba(100,255,218,.08);
border:1px solid rgba(100,255,218,.15);
padding:7px 14px;
border-radius:999px;
font-size:12px;
color:#64ffda;
white-space:nowrap;
transition:.25s ease;
}

.fp__tech li:hover{
background:rgba(100,255,218,.15);
transform:translateY(-2px);
}

.fp__media{
width:100%;
}

.fp__media-link{
display:block;
overflow:hidden;
border-radius:8px;
}

.fp__media-link img{
width:100%;
height:430px;
object-fit:cover;
display:block;
border-radius:8px;
filter:brightness(1);
transition:.5s ease;
}

.fp__item:hover .fp__media-link img{
transform:scale(1.03);
}

.fp__archive{
margin-top:70px;
text-align:center;
}

.fp__archive-link{
color:#64ffda;
text-decoration:none;
font-family:monospace;
font-size:14px;
letter-spacing:.08em;
transition:.3s ease;
}

.fp__archive-link:hover{
letter-spacing:.16em;
}

@media(max-width:1100px){

.fp__item{
grid-template-columns:1fr;
gap:35px;
}

.fp__title{
font-size:40px;
}

.fp__media-link img{
height:auto;
}

}

@media(max-width:768px){

.fp{
padding:70px 0;
}

.fp__item{
padding:25px;
}

.fp__title{
font-size:34px;
}

.fp__desc{
padding:22px;
}

.fp__desc p{
font-size:15px;
line-height:1.8;
}

}

@media(max-width:480px){

.fp__title{
font-size:28px;
}

.fp__heading{
font-size:26px;
}

}/* End custom CSS */