/* Brok 2.0. Elementor owns the header, footer and design-system overrides. */
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:#fff;font-family:var(--brok-body-family,Montserrat,Arial,sans-serif);font-size:var(--brok-body-size,15px);font-weight:var(--brok-body-weight,400);line-height:var(--brok-body-line,1.6);color:#4c4c4c;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3,h4,h5{color:#000;text-transform:uppercase}h1{text-transform:var(--brok-h1-transform,uppercase);font-family:var(--brok-h1-family,Montserrat,Arial,sans-serif);font-size:var(--brok-h1-size,90px);font-weight:var(--brok-h1-weight,700);line-height:var(--brok-h1-line,1)}h2{text-transform:var(--brok-h2-transform,uppercase);font-family:var(--brok-h2-family,Montserrat,Arial,sans-serif);font-size:var(--brok-h2-size,46px);font-weight:var(--brok-h2-weight,700);line-height:var(--brok-h2-line,1)}h3{text-transform:var(--brok-h3-transform,uppercase);font-family:var(--brok-h3-family,Montserrat,Arial,sans-serif);font-size:var(--brok-h3-size,38px);font-weight:var(--brok-h3-weight,700);line-height:var(--brok-h3-line,1.04)}h4{text-transform:var(--brok-h4-transform,uppercase);font-family:var(--brok-h4-family,Montserrat,Arial,sans-serif);font-size:var(--brok-h4-size,24px);font-weight:var(--brok-h4-weight,700);line-height:var(--brok-h4-line,1.04)}h5{text-transform:var(--brok-h5-transform,uppercase);font-family:var(--brok-h5-family,Montserrat,Arial,sans-serif);font-size:var(--brok-h5-size,16px);font-weight:var(--brok-h5-weight,700);line-height:var(--brok-h5-line,1.06)}:focus-visible{outline:2px solid currentColor;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;color:#000;padding:10px;z-index:100000}.skip-link:focus{top:15px}.shell{width:min(1116px,calc(100% - 56px));margin-inline:auto}.section{padding-block:80px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-title,.lead{max-width:740px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.quiet{color:#898989}
.plus-button,.forma-slider-button{display:inline-flex;align-items:center;gap:10px;position:relative;isolation:isolate;padding:15px 23px 17px;border:0;background:transparent;color:#111;font-weight:700;font-size:15px;line-height:1.6;text-transform:uppercase}.plus-button:before{content:"";position:absolute;inset:0 50% 0 0;background:#efefef;z-index:-1;transition:right .45s ease-in-out}.plus-button:hover:before,.plus-button:focus-visible:before{right:0}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:700;text-transform:uppercase}.text-link:before{content:"+";font-size:18px}
.hero-banner{height:clamp(340px,39vw,530px);margin:0 auto;max-width:1116px;position:relative;overflow:hidden}.hero-banner img{width:100%;height:100%;object-fit:cover}.hero-banner:after{content:"";position:absolute;inset:0;background:#0003}.hero-banner h1{position:absolute;z-index:1;color:#fff;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;text-align:center}.forma-hero-placeholder{height:100%;background:#ddd}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.services article h4{margin-bottom:15px}.feature{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7%}.feature-photo{height:530px;position:relative;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover}.feature-nav{position:absolute;right:17px;bottom:17px;display:flex;gap:8px}.feature-nav button{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;border:0;background:white;color:#111;box-shadow:0 3px 18px #0002;transition:background .25s,transform .25s}.feature-nav button:hover{background:#eee;transform:translateY(-2px)}.feature-copy h2{font-size:var(--brok-h2-size,46px);margin-bottom:25px}.feature-photo img,.feature-copy p,.feature-copy a{transition:opacity .32s ease,transform .38s ease}.feature.is-changing .feature-photo img{opacity:.2;transform:translateY(14px)}.feature.is-changing .feature-copy p,.feature.is-changing .feature-copy a{opacity:.25;transform:translateY(-9px)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}.portfolio-item{display:block;min-width:0}.portfolio-item img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .7s ease-in-out}.portfolio-item:hover img{transform:scale(1.015)}.portfolio-item .label{display:block;padding:18px 0 3px}.portfolio-item .label h5,.portfolio-item .label strong{display:block;margin:0 0 8px;font-size:var(--brok-h5-size,16px);font-weight:700;text-transform:uppercase}.portfolio-item .label em{font-style:italic;font-size:13px;color:#898989}.portfolio-intro{padding:80px 0 50px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.news-image{height:238px;position:relative;overflow:hidden;background:#eee}.news-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.news-grid a:hover img{transform:scale(1.04)}.news-grid h5{margin:20px 0 12px}.news-grid p{font-size:var(--brok-body-size,15px)}.news-date{position:absolute;top:0;right:0;padding:8px 12px;background:#fff;font-size:11px;text-align:center}.news-date strong{display:block;font-size:18px;line-height:1}.forma-pagination{display:flex;gap:16px;padding:40px 0}.forma-pagination .current{font-weight:700}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.team-card .portrait img{aspect-ratio:4/5;width:100%;object-fit:cover}.team-card h5{margin:18px 0 8px}.team-card p{font-family:var(--e-global-typography-brokrole-font-family,Montserrat),Arial,sans-serif;font-size:var(--e-global-typography-brokrole-font-size,13px);font-weight:var(--e-global-typography-brokrole-font-weight,400);line-height:var(--e-global-typography-brokrole-line-height,1.6em);color:#898989;font-style:var(--e-global-typography-brokrole-font-style,italic);margin-bottom:11px}.skills{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.detail-heading{padding:80px 0 35px;display:grid;grid-template-columns:1.6fr 1fr;gap:45px}.crumb{grid-column:1/-1;font-size:12px;color:#898989}.project-meta{font-size:14px;margin:0}.project-meta div{display:flex;gap:6px;margin-bottom:8px}.project-meta dt{font-weight:700;text-transform:uppercase}.project-meta dd{margin:0;color:#898989}.detail-cover{height:min(70vw,660px);margin-bottom:60px}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-nav{display:flex;justify-content:space-between;padding:30px 0 60px;border-top:1px solid #ddd;font-size:13px}.forma-entry-content{margin-bottom:60px}.article{max-width:800px;margin:80px auto}.article img{height:auto;margin:30px 0}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:90px}.contact-lines{font-size:15px;line-height:1.8}.forma-post-list{border-top:1px solid #ddd;padding:30px 0}.forma-post-list h2{font-size:var(--brok-h2-size,46px)}
/* Native template library layouts use editable Elementor widgets. */
.brok-starter-section>.e-con-inner{width:100%;max-width:1116px}.brok-starter-section .e-con-inner>.e-con{flex:1;min-width:0}.brok-services>.e-con{flex:1;min-width:0}.brok-starter-image img{width:100%;object-fit:cover;aspect-ratio:16/10}.brok-portrait img{aspect-ratio:4/5}.brok-starter-hero .brok-starter-image img{max-height:580px}.brok-starter-button .elementor-button{isolation:isolate;position:relative;padding:15px 23px 17px;color:#111;background:transparent;border:0;border-radius:0}.brok-starter-button .elementor-button:before{content:"";position:absolute;inset:0 50% 0 0;background:#efefef;z-index:-1;transition:right .45s ease-in-out}.brok-starter-button .elementor-button:hover:before,.brok-starter-button .elementor-button:focus-visible:before{right:0}body.home .brok-home-container{width:100%;max-width:none}body.home .brok-home-container>.e-con-inner{width:100%;max-width:none}body.home .brok-home-container .elementor-widget-brok-split-slider,body.home .brok-home-container .elementor-widget-shortcode{width:100%;max-width:none}body.home #main-content>.forma-slider,body.home #main-content>.forma-mobile-projects{width:100%;max-width:none;margin:0}
.cursor{position:fixed;left:0;top:0;width:16px;height:16px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:2147483000;transform:translate(-50%,-50%);transition:width .22s,height .22s,opacity .2s;opacity:0}.cursor.show{opacity:1}.cursor.hover{width:30px;height:30px}body.forma-cursor-ready,body.forma-cursor-ready *{cursor:none!important}body.elementor-editor-active,body.elementor-editor-active *{cursor:auto!important}body.elementor-editor-active .cursor{display:none}
.brok-map-guard{position:relative}.brok-map-activate{position:absolute;inset:0;z-index:2;display:grid;align-items:end;justify-items:end;width:100%;height:100%;border:0;background:transparent;padding:16px;text-align:center}.brok-map-activate[hidden]{display:none}.brok-map-activate span{display:inline-flex;align-items:center;justify-content:center;background:#151515;color:#fff;padding:12px 18px;font:700 12px/1.3 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 6px 24px #0003;transition:background .2s ease,transform .2s ease}.brok-map-activate:hover span,.brok-map-activate:focus-visible span{background:#333;transform:translateY(-2px)}.brok-map-activate:focus-visible{outline:2px solid #151515;outline-offset:-4px}

@media(min-width:1441px){.brok-page-title h1{font-size:var(--brok-h1-size,110px)}}
@media(max-width:900px){.feature,.skills,.detail-heading,.contact-content{grid-template-columns:1fr;gap:32px}.feature-photo{height:430px}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.shell{width:calc(100% - 38px)}.section{padding-block:50px}.services,.portfolio-grid,.news-grid{grid-template-columns:1fr}.section-head{display:block}.hero-banner h1{overflow-wrap:anywhere}.feature-photo{height:380px}}
@media(prefers-reduced-motion:reduce){.cursor,.plus-button:before,.brok-starter-button .elementor-button:before,.feature-photo img,.feature-copy p,.feature-copy a,.portfolio-item img,.news-image img{transition:none}}

/* Brok Coming Soon: editable Single Page template for Elementor Maintenance Mode. */
.brok-cs.e-con{--brok-cs-ink:#191b19;--brok-cs-paper:#f5f4ef;--brok-cs-accent:#d4ac49;display:flex;flex-direction:column;min-height:100svh;width:100%;max-width:none;margin:0;padding:0;background:var(--brok-cs-paper);color:var(--brok-cs-ink);overflow:hidden}
.brok-cs .brok-cs__header.e-con,.brok-cs .brok-cs__main.e-con,.brok-cs .brok-cs__footer.e-con{width:100%;max-width:1680px;margin-inline:auto;padding-inline:clamp(24px,5.25vw,96px)}
.brok-cs .brok-cs__header.e-con{display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-height:104px;gap:20px;border-bottom:1px solid #d7d5cb}
.brok-cs__header>.elementor-widget,.brok-cs__footer>.elementor-widget{width:auto}
.brok-cs__brand .elementor-heading-title{color:var(--brok-cs-ink);font:800 27px/1 Montserrat,Arial,sans-serif;letter-spacing:-.12em;padding-right:.12em}
.brok-cs__header-note .elementor-heading-title{display:flex;align-items:center;gap:12px;color:#4e514b;font:700 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.16em}
.brok-cs__header-note .elementor-heading-title:before{content:"";display:block;flex:0 0 7px;width:7px;height:7px;background:var(--brok-cs-accent)}
.brok-cs .brok-cs__main.e-con{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(30px,5vw,92px);flex:1;padding-block:clamp(32px,4.5vh,66px)}
.brok-cs .brok-cs__content.e-con,.brok-cs .brok-cs__visual.e-con{width:100%;max-width:none;min-width:0}
.brok-cs .brok-cs__content.e-con{display:flex;flex-direction:column;align-items:flex-start;padding-block:20px}
.brok-cs__eyebrow .elementor-heading-title{display:flex;align-items:center;gap:13px;margin-bottom:clamp(22px,4vh,42px);color:var(--brok-cs-ink);font:700 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.16em}
.brok-cs__eyebrow .elementor-heading-title:before{content:"";display:block;flex:0 0 38px;width:38px;height:1px;background:var(--brok-cs-accent)}
.brok-cs__title .elementor-heading-title{max-width:800px;margin:0;color:var(--brok-cs-ink);font:700 clamp(54px,6.2vw,112px)/.98 Montserrat,Arial,sans-serif;letter-spacing:-.075em;text-transform:uppercase}
.brok-cs__title .elementor-heading-title span{color:var(--brok-cs-accent)}
.brok-cs__intro{max-width:440px;margin-top:clamp(24px,4vh,45px)}
.brok-cs__intro p{margin:0;color:#686a65;font:400 clamp(14px,1.05vw,16px)/1.8 Montserrat,Arial,sans-serif}
.brok-cs__contact{width:auto!important;margin-top:clamp(24px,4vh,42px)}
.brok-cs__contact .elementor-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;min-height:54px;padding:15px 21px;border:0;border-radius:0;background:transparent;color:var(--brok-cs-ink);font:700 13px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.brok-cs__contact .elementor-button:before{content:"";position:absolute;z-index:-1;inset:0 50% 0 0;background:#e7dfca;transition:right .45s cubic-bezier(.45,0,.25,1)}
.brok-cs__contact .elementor-button:is(:hover,:focus-visible):before{right:0}
.brok-cs .brok-cs__visual.e-con{position:relative;display:block;align-self:stretch;min-height:480px}
.brok-cs__image,.brok-cs__image .elementor-widget-container,.brok-cs__image img{display:block;width:100%;height:100%;min-height:480px}
.brok-cs__image img{height:min(67vh,680px);object-fit:cover;object-position:center;background:#c8bdac}
.brok-cs__visual:after{content:"";position:absolute;inset:55% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.4))}
.brok-cs__image-caption{position:absolute;z-index:1;left:20px;bottom:22px;width:auto!important}
.brok-cs__image-caption .elementor-heading-title{color:#fff;font:700 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.16em;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.brok-cs .brok-cs__footer.e-con{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;min-height:70px;border-top:1px solid #d7d5cb}
.brok-cs__footer-copy .elementor-heading-title{color:#72746d;font:700 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.1em}
@media(max-width:1024px){.brok-cs__title .elementor-heading-title{font-size:clamp(52px,6.3vw,82px)}.brok-cs .brok-cs__visual.e-con,.brok-cs__image img{min-height:440px}.brok-cs__image img{height:min(65vh,610px)}}
@media(max-width:767px){.brok-cs .brok-cs__header.e-con{min-height:78px}.brok-cs__brand .elementor-heading-title{font-size:24px}.brok-cs__header-note .elementor-heading-title{font-size:9px;letter-spacing:.09em}.brok-cs .brok-cs__main.e-con{grid-template-columns:1fr;gap:30px;padding-block:32px 36px}.brok-cs .brok-cs__content.e-con{padding-block:8px 0}.brok-cs__eyebrow .elementor-heading-title{margin-bottom:23px;font-size:10px}.brok-cs__title .elementor-heading-title{font-size:clamp(47px,11.5vw,76px);letter-spacing:-.07em}.brok-cs__intro{max-width:530px;margin-top:22px}.brok-cs__intro p{font-size:14px;line-height:1.75}.brok-cs__contact{margin-top:23px}.brok-cs .brok-cs__visual.e-con,.brok-cs__image img{min-height:320px}.brok-cs__image img{height:min(56vh,510px)}.brok-cs .brok-cs__footer.e-con{min-height:68px}.brok-cs__footer-copy .elementor-heading-title{font-size:9px}}
@media(max-width:400px){.brok-cs__header-note{max-width:125px}.brok-cs__header-note .elementor-heading-title{text-align:right}.brok-cs__title .elementor-heading-title{font-size:clamp(42px,11vw,52px)}.brok-cs__footer-copy:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.brok-cs__contact .elementor-button:before{transition:none}}
