.elementor-558 .elementor-element.elementor-element-2076745{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--overflow:hidden;--padding-top:160px;--padding-bottom:120px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-6151f23{text-align:center;}.elementor-558 .elementor-element.elementor-element-6151f23 .elementor-heading-title{font-family:var( --e-global-typography-f79f714-font-family ), Sans-serif;font-size:var( --e-global-typography-f79f714-font-size );font-weight:var( --e-global-typography-f79f714-font-weight );text-transform:var( --e-global-typography-f79f714-text-transform );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );color:var( --e-global-color-secondary );}.elementor-558 .elementor-element.elementor-element-c0e4366{text-align:center;}.elementor-558 .elementor-element.elementor-element-c0e4366 .elementor-heading-title{font-family:var( --e-global-typography-a48518b-font-family ), Sans-serif;font-size:var( --e-global-typography-a48518b-font-size );font-weight:var( --e-global-typography-a48518b-font-weight );text-transform:var( --e-global-typography-a48518b-text-transform );line-height:var( --e-global-typography-a48518b-line-height );letter-spacing:var( --e-global-typography-a48518b-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );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-558 .elementor-element.elementor-element-e34c4cd{text-align:center;color:var( --e-global-color-muted );}.elementor-558 .elementor-element.elementor-element-1c96c24{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:120px;--padding-left:40px;--padding-right:40px;}.elementor-558 .elementor-element.elementor-element-87c510a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-558 .elementor-element.elementor-element-8a9f27d{text-align:center;}.elementor-558 .elementor-element.elementor-element-8a9f27d .elementor-heading-title{font-family:var( --e-global-typography-f79f714-font-family ), Sans-serif;font-size:var( --e-global-typography-f79f714-font-size );font-weight:var( --e-global-typography-f79f714-font-weight );text-transform:var( --e-global-typography-f79f714-text-transform );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );color:var( --e-global-color-secondary );}.elementor-558 .elementor-element.elementor-element-87e4291{text-align:center;}.elementor-558 .elementor-element.elementor-element-87e4291 .elementor-heading-title{font-family:var( --e-global-typography-8455043-font-family ), Sans-serif;font-size:var( --e-global-typography-8455043-font-size );font-weight:var( --e-global-typography-8455043-font-weight );text-transform:var( --e-global-typography-8455043-text-transform );line-height:var( --e-global-typography-8455043-line-height );letter-spacing:var( --e-global-typography-8455043-letter-spacing );color:var( --e-global-color-text );}.elementor-558 .elementor-element.elementor-element-7a7711d{--display:flex;}.elementor-558 .elementor-element.elementor-element-b500da3{--display:flex;--min-height:50vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:120px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-558 .elementor-element.elementor-element-83ec61c{text-align:center;}.elementor-558 .elementor-element.elementor-element-83ec61c .elementor-heading-title{font-family:var( --e-global-typography-f79f714-font-family ), Sans-serif;font-size:var( --e-global-typography-f79f714-font-size );font-weight:var( --e-global-typography-f79f714-font-weight );text-transform:var( --e-global-typography-f79f714-text-transform );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline-plain-text{color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-animated-headline{--dynamic-text-color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-accent );}.elementor-558 .elementor-element.elementor-element-a5beaa3{--iteration-count:infinite;--animation-duration:1200ms;--dynamic-text-color:var( --e-global-color-secondary );}.elementor-558 .elementor-element.elementor-element-a5beaa3 .elementor-headline{text-align:center;font-family:var( --e-global-typography-a48518b-font-family ), Sans-serif;font-size:var( --e-global-typography-a48518b-font-size );font-weight:var( --e-global-typography-a48518b-font-weight );text-transform:var( --e-global-typography-a48518b-text-transform );line-height:var( --e-global-typography-a48518b-line-height );letter-spacing:var( --e-global-typography-a48518b-letter-spacing );}.elementor-558 .elementor-element.elementor-element-a5beaa3 .elementor-headline-plain-text{color:var( --e-global-color-text );}.elementor-558 .elementor-element.elementor-element-a5beaa3 .elementor-headline-dynamic-text{font-family:"Bebas Neue", Sans-serif;font-weight:600;font-style:italic;}.elementor-558 .elementor-element.elementor-element-a5beaa3 .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-secondary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-558 .elementor-element.elementor-element-8472354 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Overpass", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0.06em;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:50px 50px 50px 50px;padding:21px 36px 21px 36px;}.elementor-558 .elementor-element.elementor-element-8472354 .elementor-button:hover, .elementor-558 .elementor-element.elementor-element-8472354 .elementor-button:focus{background-color:#F5EFE300;color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-558 .elementor-element.elementor-element-8472354 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-558 .elementor-element.elementor-element-8472354 .elementor-button:hover svg, .elementor-558 .elementor-element.elementor-element-8472354 .elementor-button:focus svg{fill:var( --e-global-color-text );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-558 .elementor-element.elementor-element-2076745{--padding-top:120px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-558 .elementor-element.elementor-element-6151f23 .elementor-heading-title{font-size:var( --e-global-typography-f79f714-font-size );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );}.elementor-558 .elementor-element.elementor-element-c0e4366 .elementor-heading-title{font-size:var( --e-global-typography-a48518b-font-size );line-height:var( --e-global-typography-a48518b-line-height );letter-spacing:var( --e-global-typography-a48518b-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-558 .elementor-element.elementor-element-1c96c24{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-558 .elementor-element.elementor-element-8a9f27d .elementor-heading-title{font-size:var( --e-global-typography-f79f714-font-size );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );}.elementor-558 .elementor-element.elementor-element-87e4291 .elementor-heading-title{font-size:var( --e-global-typography-8455043-font-size );line-height:var( --e-global-typography-8455043-line-height );letter-spacing:var( --e-global-typography-8455043-letter-spacing );}.elementor-558 .elementor-element.elementor-element-b500da3{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-558 .elementor-element.elementor-element-83ec61c .elementor-heading-title{font-size:var( --e-global-typography-f79f714-font-size );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );}.elementor-widget-animated-headline .elementor-headline{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-558 .elementor-element.elementor-element-a5beaa3 .elementor-headline{font-size:var( --e-global-typography-a48518b-font-size );line-height:var( --e-global-typography-a48518b-line-height );letter-spacing:var( --e-global-typography-a48518b-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-558 .elementor-element.elementor-element-2076745{--padding-top:96px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-558 .elementor-element.elementor-element-6151f23 .elementor-heading-title{font-size:var( --e-global-typography-f79f714-font-size );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );}.elementor-558 .elementor-element.elementor-element-c0e4366 .elementor-heading-title{font-size:var( --e-global-typography-a48518b-font-size );line-height:var( --e-global-typography-a48518b-line-height );letter-spacing:var( --e-global-typography-a48518b-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-558 .elementor-element.elementor-element-1c96c24{--padding-top:64px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-558 .elementor-element.elementor-element-8a9f27d .elementor-heading-title{font-size:var( --e-global-typography-f79f714-font-size );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );}.elementor-558 .elementor-element.elementor-element-87e4291 .elementor-heading-title{font-size:var( --e-global-typography-8455043-font-size );line-height:var( --e-global-typography-8455043-line-height );letter-spacing:var( --e-global-typography-8455043-letter-spacing );}.elementor-558 .elementor-element.elementor-element-83ec61c .elementor-heading-title{font-size:var( --e-global-typography-f79f714-font-size );line-height:var( --e-global-typography-f79f714-line-height );letter-spacing:var( --e-global-typography-f79f714-letter-spacing );}.elementor-widget-animated-headline .elementor-headline{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-558 .elementor-element.elementor-element-a5beaa3 .elementor-headline{font-size:var( --e-global-typography-a48518b-font-size );line-height:var( --e-global-typography-a48518b-line-height );letter-spacing:var( --e-global-typography-a48518b-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS *//* ===== Portfolio page ===== */
#portfolio-hero h1 { line-height: 0.95 !important; margin: 0 !important; letter-spacing: -0.04em; }
#portfolio-hero .portfolio-hero-lede { max-width: 56ch; margin: 16px auto 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.55; }
.hl-cream { color: hsl(0,0%,96%); font-weight: 500; }

#portfolio-work h2 { margin: 0 !important; }

/* Project cards — target via HTML widget content classes (containers don't have .project-card) */
#portfolio-grid > .e-con { transition: border-color .3s, transform .3s; }
#portfolio-grid > .e-con:hover { border-color: rgba(220,175,12,0.4) !important; transform: translateY(-4px); }

.proj-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.proj-card-inner .proj-visual {
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, hsl(48 76% 46%) 0%, hsl(46 56% 45%) 60%, hsl(46 56% 35%) 100%);
  display: flex;
  align-items: flex-end;
  padding: 28px;
  position: relative;
  overflow: hidden;
  width: 100%;
}
.proj-card-inner .proj-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(255,255,255,0.18), transparent 50%);
  pointer-events: none;
}
.proj-card-inner .proj-visual span {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(56px, 6vw, 96px);
  font-weight: 600;
  line-height: 0.85;
  color: hsl(20 25% 8%);
  letter-spacing: -0.03em;
  position: relative;
  z-index: 1;
}
.proj-card-inner .proj-body {
  padding: 28px 32px 36px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.proj-card-inner .proj-tag {
  font-family: "Overpass Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: hsl(0 0% 60%);
}
.proj-card-inner .proj-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 500;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  color: hsl(0 0% 96%);
  margin: 0;
  line-height: 1.05;
}
.proj-card-inner .proj-result {
  font-family: "Overpass Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: hsl(48 92% 46%);
  margin: 4px 0 0 0;
  border-top: 1px solid rgba(220,175,12,0.18);
  padding-top: 14px;
}

/* Make sure the HTML widget itself doesn't add internal padding that breaks layout */
#portfolio-grid .elementor-widget-html,
#portfolio-grid .elementor-widget-html > .elementor-widget-container {
  height: 100%;
  padding: 0;
}

#portfolio-cta .elementor-widget-animated-headline .elementor-headline,
#portfolio-cta h2 { max-width: 20ch; text-wrap: balance; margin: 0 auto; }
#portfolio-cta .elementor-widget-button { margin-top: 16px; }

@media (max-width: 768px) {
  #portfolio-grid { grid-template-columns: 1fr !important; }
}/* End custom CSS */