/* Dedicated portfolio presentation, using native editable Elementor widgets. */
body.tpp-projects-page .header-breadcamb-fixer{display:none}
.tpp-projects{--pj-ink:#172e3b;--pj-muted:#536771;--pj-red:#d8242f;--pj-line:#dce4e8;color:var(--pj-ink);font-family:Inter,Arial,sans-serif;background:#fff;text-align:left}
.tpp-projects,.tpp-projects *{box-sizing:border-box}
.tpp-projects.e-con,.tpp-projects .e-con{--container-max-width:none;--container-default-padding:0px;--widgets-spacing:0px;--gap:0px;--row-gap:0px;--column-gap:0px;gap:0;margin:0;padding:0;min-width:0;max-width:none}
.tpp-projects .elementor-widget{min-width:0;max-width:100%;margin:0;--widgets-spacing:0px}
.tpp-projects .elementor-widget-container{margin:0}
.tpp-projects :is(h1,h2,h3,p){margin:0}
.tpp-projects .elementor-heading-title{font-family:inherit;color:var(--pj-ink);font-weight:600;line-height:1.2;letter-spacing:-.6px;margin:0!important;overflow-wrap:break-word}
.tpp-projects .elementor-widget-text-editor{color:var(--pj-muted);font:400 15px/1.8 Inter,Arial,sans-serif;overflow-wrap:break-word}
.tpp-projects .tpp-project-width{width:calc(100% - 40px);max-width:1280px;margin-inline:auto}
.tpp-projects .tpp-project-hero{background:linear-gradient(120deg,#f1f5f6,#fff);padding:44px 0 30px;border-bottom:1px solid var(--pj-line)}
.tpp-projects .tpp-project-hero .tpp-project-width{gap:20px}
.tpp-projects .tpp-project-eyebrow{color:#b51d28;font-size:11px;font-weight:700;line-height:1.7;letter-spacing:1.2px;text-transform:uppercase}
.tpp-projects .tpp-project-hero h1{font-size:clamp(35px,5.8vw,68px);line-height:1.07;max-width:930px;letter-spacing:-1.6px;text-wrap:balance}
.tpp-projects .tpp-project-intro{max-width:650px;font-size:17px;line-height:1.7}
.tpp-projects .tpp-project-navigation{display:flex;flex-direction:column;gap:7px;margin-top:6px}
.tpp-projects .elementor-button{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:0;background:transparent;color:var(--pj-ink);font:600 13px/1.6 Inter,Arial,sans-serif;text-align:left;white-space:normal;padding:12px 0}
.tpp-projects .elementor-button-content-wrapper{min-width:0}
.tpp-projects .elementor-button-text{text-align:left;overflow-wrap:anywhere}
.tpp-projects .elementor-button:after{content:'↗';flex-shrink:0;font-size:20px;font-weight:400;line-height:1}
.tpp-projects .elementor-button:hover{color:var(--pj-red)}
.tpp-projects .elementor-button:focus-visible{outline:3px solid var(--pj-red);outline-offset:4px}
.tpp-projects .tpp-project-jump .elementor-button{padding:12px 16px;border:1px solid #cbd8de;background:#fff;border-radius:4px;width:100%}
.tpp-projects .tpp-project-jump .elementor-button:after{content:'↓'}
.tpp-projects .tpp-project-collection{padding-top:36px;padding-bottom:48px;gap:44px}
.tpp-projects .tpp-project-case{scroll-margin-top:135px;display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid var(--pj-line);padding-bottom:36px;gap:24px}
.tpp-projects .tpp-project-case:last-child{border-bottom:0;padding-bottom:0}
.tpp-projects .tpp-project-visual{min-width:0}
.tpp-projects .tpp-project-media img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:6px}
.tpp-projects .tpp-project-media .widget-image-caption{font:400 11px/1.65 Inter,Arial,sans-serif;text-align:left;color:#5b6e78;margin-top:10px}
.tpp-projects .tpp-project-details{gap:17px}
.tpp-projects .tpp-project-details h2{font-size:clamp(28px,3.2vw,43px);letter-spacing:-.8px}
.tpp-projects .tpp-project-location{font-size:12px;line-height:1.65;letter-spacing:.5px;text-transform:uppercase;color:#506873;margin-top:-7px}
.tpp-projects .tpp-project-description{font-size:15px;line-height:1.85}
.tpp-projects .tpp-project-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;padding-block:21px;border-block:1px solid var(--pj-line);margin-top:5px}
.tpp-projects .tpp-project-fact{gap:5px}
.tpp-projects .tpp-project-fact h3{font-size:10px;line-height:1.7;color:#5c707b;letter-spacing:.7px;text-transform:uppercase}
.tpp-projects .tpp-project-fact .elementor-widget-text-editor{font-size:13px;line-height:1.65;color:var(--pj-ink);font-weight:500}
.tpp-projects .tpp-project-readings{gap:12px;padding-top:4px}
.tpp-projects .tpp-project-readings h3{font-size:17px;line-height:1.5;letter-spacing:-.2px}
.tpp-projects .tpp-project-options{gap:0}
.tpp-projects .tpp-project-choice .elementor-button{border-bottom:1px solid var(--pj-line);width:100%;padding:12px 4px}
.tpp-projects .tpp-project-overview .elementor-button{color:#b41b27;width:100%}
.tpp-projects .tpp-project-cta{background:var(--pj-ink);padding:40px 0;border-top:3px solid var(--pj-red)}
.tpp-projects .tpp-project-cta .tpp-project-width{gap:20px}
.tpp-projects .tpp-project-cta h2{color:#fff;font-size:clamp(28px,3vw,42px);max-width:820px}
.tpp-projects .tpp-project-cta .elementor-widget-text-editor{color:#d5e1e6;max-width:650px}
.tpp-projects .tpp-project-contact{width:100%;max-width:320px}
.tpp-projects .tpp-project-contact .elementor-button{background:var(--pj-red);color:#fff;padding:13px 18px;border-radius:3px;width:100%}
.tpp-projects .tpp-project-contact .elementor-button:hover{background:#b61c28}
@media(min-width:390px){.tpp-projects .tpp-project-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(min-width:600px){.tpp-projects .tpp-project-width{width:calc(100% - 64px)}.tpp-projects .tpp-project-hero{padding:60px 0 38px}.tpp-projects .tpp-project-navigation{flex-direction:row;flex-wrap:wrap;gap:12px}.tpp-projects .tpp-project-jump{width:auto}.tpp-projects .tpp-project-jump .elementor-button{gap:24px}.tpp-projects .tpp-project-collection{padding-block:55px 65px;gap:55px}.tpp-projects .tpp-project-case{gap:30px;padding-bottom:50px}.tpp-projects .tpp-project-media img{aspect-ratio:16/9}.tpp-projects .tpp-project-description{font-size:16px}.tpp-projects .tpp-project-cta{padding-block:55px}}
@media(min-width:1000px){.tpp-projects .tpp-project-width{width:calc(100% - 100px)}.tpp-projects .tpp-project-hero{padding:75px 0 45px}.tpp-projects .tpp-project-case{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:50px;align-items:start}.tpp-projects .tpp-project-media img{aspect-ratio:4/4.3;max-height:650px}.tpp-projects .tpp-project-case:nth-child(even) .tpp-project-visual{order:2}.tpp-projects .tpp-project-collection{gap:75px;padding-block:70px 85px}.tpp-projects .tpp-project-case{padding-bottom:70px}.tpp-projects .tpp-project-details{gap:20px}.tpp-projects .tpp-project-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tpp-projects .tpp-project-choice .elementor-button{height:100%;font-size:12px}.tpp-projects .tpp-project-facts{gap:20px 30px}}
@media(prefers-reduced-motion:reduce){.tpp-projects *{scroll-behavior:auto!important;transition:none!important}}
