/* Interior pages share the accepted Home's typography, header and footer. */
.tg-rebuild{background:#0d1116;color:#fff}.tg-interior{overflow:clip}.tg-interior p{font-size:20px;line-height:1.2}.tg-interior h1,.tg-interior h2,.tg-interior h3{font-family:var(--tg-font);font-weight:600;letter-spacing:0}.tg-prose p{margin:0 0 24px}.tg-prose p:last-child{margin-bottom:0}.tg-prose strong,.tg-prose b{font-weight:600}.tg-prose a{text-decoration:underline;text-underline-offset:3px}.tg-prose ul,.tg-prose ol{padding-left:24px}.tg-prose li{margin:0 0 14px}.tg-page-section{padding-top:100px;padding-bottom:100px}.tg-page-display{font-size:10vw;line-height:.85;text-transform:uppercase;margin:0;overflow-wrap:normal}.tg-editorial-split{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:40px;align-items:end}.tg-section-heading{margin-bottom:70px}.tg-section-heading .tg-prose{max-width:650px}.tg-heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}.tg-inner-hero{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:#0d1116;color:white}.tg-inner-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,17,22,.52),#0d1116);z-index:0}.tg-inner-hero-content{position:relative;padding-top:200px;padding-bottom:70px;z-index:1}.tg-inner-title{font-size:12vw;line-height:.85;text-transform:uppercase;margin:0;width:72%;font-weight:600;overflow-wrap:normal}.tg-inner-intro{margin:60px 6.5% 0 41.65%;max-width:803px}.tg-inner-services{padding-top:100px;padding-bottom:40px}.tg-view-for-agencies .tg-inner-services{padding-top:40px;padding-bottom:100px}.tg-inner-services .tg-section-label{display:flex;align-items:center;gap:15px;opacity:1;margin:0 0 20px;font-size:30px;letter-spacing:0;font-weight:400;line-height:1.2}.tg-inner-services .tg-section-label img{height:36px;width:24px}.tg-inner-service{display:grid;grid-template-columns:minmax(0,41.2fr) minmax(0,58.8fr);gap:20px;padding:40px 0 60px;align-items:start;border-top:1px solid #ffffff70}.tg-inner-service+.tg-inner-service{margin-top:20px}.tg-inner-service:last-child{border-bottom:1px solid #ffffff70}.tg-inner-service-visual{display:grid;grid-template-columns:32px minmax(0,1fr);gap:20px;position:relative;align-items:start}.tg-inner-service-visual>span{display:block;margin:0;font-size:30px;line-height:1.2}.tg-inner-service-media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:40px}.tg-inner-service-media .tg-video-frame{width:100%;height:100%;inset:0;transform:none;min-width:0;min-height:0}.tg-inner-service-heading{display:flex;align-items:flex-start;gap:24px;margin-bottom:20px}.tg-inner-service-copy h2{font-size:60px;line-height:1;max-width:calc(100% - 76px);margin:0}.tg-inner-service-copy .tg-prose{max-width:583px;padding:0}.tg-view-for-agencies .tg-inner-service-copy h2{font-size:67.5px;font-weight:700}.tg-view-for-agencies .tg-inner-service-copy .tg-prose{width:85%;max-width:none}.tg-circle-arrow{flex:0 0 52px;width:52px;height:52px;margin-left:auto;border:1px solid transparent;border-radius:50%;background:#fff;color:#0d1116;display:grid;place-items:center;transition:background .2s,color .2s}.tg-circle-arrow svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.25}.tg-circle-arrow:hover{background:#2e73ea;color:#fff}.tg-inner-why .tg-page-display{font-size:9vw;line-height:.95}.tg-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 7%}.tg-benefits>div{max-width:420px}.tg-benefits img{width:80px;height:80px;object-fit:contain;margin-bottom:25px;filter:brightness(0) invert(1)}.tg-benefits p{max-width:370px}
.tg-about-quote{min-height:680px;display:flex;align-items:center;padding-top:200px;padding-bottom:100px}.tg-about-quote h2{font-size:67.5px;line-height:1.1;margin:0 10px;max-width:1200px}.tg-about-film{height:80vh;position:relative;overflow:hidden}.tg-about-film iframe{width:177.7778vh;min-width:100%;height:56.25vw;min-height:100%;left:50%;top:50%;transform:translate(-50%,-50%)}.tg-company-intro{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:40px}.tg-company-intro .tg-prose{max-width:830px}.tg-company-intro .tg-page-display{font-size:12vw}.tg-company-intro .tg-page-display span{display:block}.tg-company-intro .tg-page-display span:last-child{font-size:13vw}.tg-about-arrow{font-size:22vw;color:#ec0d53;line-height:1;display:block;margin-top:40px}.tg-value{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:40px;border-top:1px solid #ffffff40;padding:80px 0}.tg-value h2{font-size:clamp(56px,7.91vw,152px);line-height:1;margin:0;max-width:95%;overflow-wrap:anywhere}.tg-value .tg-prose{max-width:803px}.tg-team-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:55px 20px}.tg-team-cards img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;filter:grayscale(1);transition:filter .4s}.tg-team-cards article:hover img{filter:grayscale(0)}.tg-team-cards h3{font-size:26px;margin:18px 0 5px}.tg-team-cards p{font-size:16px;margin:0}.tg-team-join{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #ffffff40;margin-top:80px;padding-top:50px}.tg-team-join h3{font-size:clamp(30px,3.5vw,67px);line-height:1.05;max-width:65%;margin:0}.tg-reference-track{display:flex;gap:30px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#627087 transparent;padding-bottom:28px}.tg-reference{margin:0;padding:40px;border:1px solid #ffffff40;border-radius:25px;flex:0 0 calc(50% - 15px);scroll-snap-align:start;display:flex;flex-direction:column}.tg-reference blockquote{margin:0 0 30px}.tg-reference blockquote p{font-size:20px;line-height:1.3;margin:0 0 18px}.tg-reference figcaption{margin-top:auto}.tg-reference h3{font-size:23px;margin:0 0 15px}.tg-reference figcaption p{margin:0;font-size:18px}.tg-reference figcaption span{font-size:14px;opacity:.7}.tg-carousel-buttons{display:flex;gap:12px}.tg-carousel-buttons button{border:1px solid currentColor;background:transparent;color:inherit;width:52px;height:52px;border-radius:50%;cursor:pointer;font-size:27px}
.tg-listing-hero{padding-top:190px;padding-bottom:60px}.tg-listing-hero .tg-inner-title{width:100%}.tg-portfolio-list,.tg-news-list{padding-top:20px}.tg-gallery-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}.tg-gallery-filters{display:flex;flex-wrap:wrap;gap:8px 18px;flex:1 1 600px}.tg-gallery-filters button{color:inherit;background:transparent;border:0;border-bottom:1px solid transparent;padding:10px 0;cursor:pointer;font-size:16px;line-height:1.1}.tg-gallery-filters button[aria-pressed=true]{border-color:currentColor}.tg-search{position:relative;flex:0 1 250px}.tg-search input{color:inherit;background:transparent;border:0;border-bottom:1px solid #ffffff70;width:100%;padding:10px 35px 10px 0;font-size:16px;border-radius:0}.tg-search input::placeholder{color:inherit;opacity:.6}.tg-search span:last-child{position:absolute;right:6px;top:2px;font-size:30px;pointer-events:none}.tg-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tg-project-card{min-width:0;position:relative}.tg-project-card[hidden]{display:none}.tg-project-card>a{display:block;position:relative;overflow:hidden;border-radius:30px}.tg-project-image{aspect-ratio:16/9;overflow:hidden;background:#1b212b}.tg-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.tg-project-caption{position:absolute;inset:0;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 35%,rgba(0,0,0,.75));color:#fff}.tg-project-caption p{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 8px}.tg-project-caption :is(h2,h3){font-size:25px;line-height:1.08;margin:0;max-width:90%}.tg-project-caption>span{position:absolute;right:25px;bottom:20px;font-size:32px}.tg-project-card:hover img{transform:scale(1.035)}.tg-gallery-status{font-size:14px!important;opacity:.7;margin:24px 0 0}.tg-gallery .tg-center{margin-top:35px}.tg-gallery [hidden]{display:none!important}.tg-project-heading,.tg-article-heading{padding-top:160px;padding-bottom:70px}.tg-back{display:inline-block;font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:45px}.tg-project-heading h1{font-size:clamp(42px,5.27vw,102px);line-height:1.05;max-width:1500px;margin:0 0 35px}.tg-project-meta{display:flex;gap:12px 25px;flex-wrap:wrap;font-size:15px;text-transform:uppercase}.tg-project-meta a{text-decoration:underline;text-underline-offset:5px}.tg-player{position:relative;aspect-ratio:16/9;background:#050608;border-radius:20px;overflow:hidden}.tg-player iframe,.tg-player video{position:absolute;width:100%;height:100%;inset:0;border:0;object-fit:contain;pointer-events:auto}.tg-project-gallery{padding-top:50px;padding-bottom:50px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;align-items:center}.tg-project-gallery a:only-child{grid-column:1/-1}.tg-project-gallery img{width:100%;height:auto;border-radius:12px}.tg-project-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;padding-top:70px;padding-bottom:100px}.tg-project-pagination a:last-child{text-align:right}.tg-project-pagination span{display:block;font-size:15px;margin-bottom:20px}.tg-project-pagination strong{font-size:clamp(23px,2.4vw,46px);font-weight:400;line-height:1.1}.tg-lightbox{position:fixed;inset:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px 70px 40px;background:#080b10f5;color:white;z-index:3000}.tg-lightbox::backdrop{background:#080b10}.tg-lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}.tg-lightbox img{max-height:calc(100dvh - 150px);max-width:100%;object-fit:contain}.tg-lightbox p{font-size:16px;margin:16px 0 0;text-align:center}.tg-lightbox button{background:transparent;color:#fff;border:1px solid #ffffff80;width:45px;height:45px;border-radius:50%;position:absolute;cursor:pointer;font-size:27px;display:grid;place-items:center}.tg-lightbox-close{top:15px;right:20px}.tg-lightbox-prev{left:15px;top:50%}.tg-lightbox-next{right:15px;top:50%}
.tg-news-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 30px}.tg-news-image{aspect-ratio:100/66;overflow:hidden;border-radius:0;margin-bottom:20px}.tg-news-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.tg-news-cards a:hover img{transform:scale(1.035)}.tg-editorial-article time{display:block;font-size:14px;margin-bottom:18px;opacity:.7}.tg-news-cards time{display:block;font-size:12px;line-height:1.3;margin:0 0 13px;color:#adadad}.tg-news-cards h2{font-size:18px;line-height:1.2;margin:0}.tg-interior .tg-news-excerpt{font-size:14px;line-height:1.5;color:#999;margin:0 0 10px}.tg-read-more{font-size:12px;line-height:2;text-transform:none;letter-spacing:0}.tg-interior .tg-news-intro{margin:30px 0 0;font-size:20px}.tg-article-heading{max-width:1700px}.tg-article-heading .tg-back{margin-bottom:35px}.tg-article-heading h1{font-size:clamp(42px,5.27vw,101px);line-height:1.08;margin:0}.tg-article-cover img{width:100%;max-height:75vh;object-fit:cover;border-radius:24px}.tg-article-content{max-width:960px;margin:0 auto;padding:80px 40px}.tg-article-content p{line-height:1.5}.tg-article-content h2{font-size:40px;line-height:1.1;margin:50px 0 25px}.tg-article-content h3,.tg-article-content h4{font-size:30px;line-height:1.2;margin:35px 0 20px}.tg-article-content img{height:auto}.tg-article-content figure{margin:30px 0}.tg-article-end{padding-bottom:100px;text-align:center}.tg-subservice-hero .tg-inner-title{font-size:9vw;width:90%;max-width:1600px}.tg-subservice-hero .tg-back{margin-bottom:30px}.tg-editorial-blocks .tg-value h2{font-size:clamp(36px,4vw,77px);overflow-wrap:normal}.tg-inline-contact{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:55px;background:#2e73ea}.tg-inline-contact h2{font-size:clamp(36px,4vw,77px);line-height:1.05;margin:0}
.tg-contact-heading{padding-top:210px;padding-bottom:100px}.tg-contact-heading h1{font-size:clamp(50px,5.27vw,101px);line-height:1.1;margin:0;max-width:1650px}.tg-view-work-with-us .tg-contact-heading h1{font-size:12vw;line-height:.85;max-width:100%}.tg-contact-layout{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:70px;padding-bottom:120px}.tg-contact-details h2{font-size:36px;line-height:1.08;font-weight:400;margin:0 0 30px;max-width:500px}.tg-contact-details address{font-style:normal;line-height:1.4;margin-bottom:30px}.tg-text-link{text-decoration:underline;text-underline-offset:6px}.tg-rebuild-form{min-width:0;position:relative}.tg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.tg-form-grid label{display:flex;flex-direction:column;gap:12px;font-size:16px;min-width:0}.tg-form-wide{grid-column:1/-1}.tg-rebuild-form input:not([type=checkbox]),.tg-rebuild-form textarea,.tg-rebuild-form select{width:100%;padding:13px 0;border:0;border-bottom:1px solid #ffffff90;background:transparent;color:inherit;border-radius:0;outline-offset:5px;font:inherit;box-shadow:none}.tg-rebuild-form select option{background:#0d1116;color:#fff}.tg-rebuild-form textarea{resize:vertical;min-height:110px}.tg-rebuild-form input[type=file]{font-size:15px}.tg-rebuild-form input::file-selector-button{border:1px solid #fff;background:transparent;color:#fff;border-radius:20px;padding:8px 14px;margin-right:10px;cursor:pointer}.tg-consent{display:flex;gap:13px;font-size:14px;line-height:1.4;margin:30px 0;align-items:flex-start}.tg-consent input{appearance:auto;width:18px;height:18px;flex:0 0 18px;accent-color:#2e73ea;margin-top:2px}.tg-consent a{text-decoration:underline}.tg-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.tg-form-notice{border:1px solid currentColor;padding:20px;margin:0 0 30px!important}.tg-legal-content{max-width:1300px;padding-top:0}.tg-legal-content ul{list-style:none;padding:0;margin:40px 0}.tg-legal-content li{padding:22px 0;border-bottom:1px solid #ffffff50}.tg-legal-content a:hover{text-decoration:underline}.tg-solar-support img{max-width:700px;width:100%;height:auto;background:#fff;padding:20px}.tg-solar-photos{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:70px 0}.tg-solar-photos img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.light-mode.tg-rebuild{background:#fff;color:#0d1116}.light-mode.tg-rebuild .tg-interior>:not(.tg-inner-hero) .tg-benefits img{filter:none}.light-mode.tg-rebuild .tg-value,.light-mode.tg-rebuild .tg-team-join,.light-mode.tg-rebuild .tg-reference,.light-mode.tg-rebuild .tg-legal-content li{border-color:#0d111640}.light-mode.tg-rebuild .tg-search input,.light-mode.tg-rebuild .tg-contact-layout .tg-rebuild-form input,.light-mode.tg-rebuild .tg-contact-layout .tg-rebuild-form textarea,.light-mode.tg-rebuild .tg-contact-layout .tg-rebuild-form select{border-color:#0d111680}.light-mode.tg-rebuild .tg-contact-layout input::file-selector-button{color:#0d1116;border-color:#0d1116}.tg-rebuild .tg-inline-contact,.tg-rebuild .tg-final-cta{color:#fff}.light-mode.tg-rebuild .tg-interior>.tg-shell .tg-pill--light:hover{background:#0d1116;color:#fff}.tg-rebuild a:focus-visible,.tg-rebuild button:focus-visible,.tg-rebuild input:focus-visible,.tg-rebuild select:focus-visible,.tg-rebuild textarea:focus-visible{outline:2px solid #9458e4;outline-offset:5px}
@media(min-width:1600px){.tg-inner-hero-content{padding-top:200px}.tg-inner-intro{margin-top:70px}.tg-inner-service{padding-top:40px;padding-bottom:60px}.tg-page-section{padding-top:120px;padding-bottom:120px}}
@media(max-width:1024px){.tg-inner-title{width:90%}.tg-inner-hero-content{padding-top:170px}.tg-inner-intro{margin-left:36%;margin-right:0}.tg-inner-service{gap:28px;grid-template-columns:minmax(0,44fr) minmax(0,56fr)}.tg-inner-service-copy h2,.tg-view-for-agencies .tg-inner-service-copy h2{font-size:45px;max-width:calc(100% - 63px)}.tg-view-for-agencies .tg-inner-service-copy .tg-prose{width:100%}.tg-circle-arrow{width:48px;height:48px;flex-basis:48px;font-size:30px}.tg-inner-service-heading{gap:15px}.tg-team-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.tg-news-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-contact-layout{grid-template-columns:minmax(0,32fr) minmax(0,68fr);gap:35px}.tg-contact-details h2{font-size:30px}.tg-reference{padding:25px}.tg-value h2{font-size:7.5vw}.tg-project-caption :is(h2,h3){font-size:22px}.tg-benefits{gap:45px 25px}}
@media(max-width:767px){.tg-page-section{padding-top:65px;padding-bottom:65px}.tg-page-display{font-size:14vw;line-height:.9}.tg-editorial-split,.tg-company-intro,.tg-value,.tg-contact-layout,.tg-inline-contact{grid-template-columns:minmax(0,1fr);gap:30px}.tg-section-heading{margin-bottom:40px}.tg-inner-hero{min-height:85svh}.tg-inner-hero-content{padding-top:160px;padding-bottom:55px}.tg-inner-title{font-size:14vw;line-height:.9;width:100%}.tg-inner-intro{margin:40px 0 0;max-width:100%}.tg-interior p{font-size:18px;line-height:1.3}.tg-inner-services{padding-top:45px}.tg-inner-services .tg-section-label{font-size:18px}.tg-inner-service{grid-template-columns:minmax(0,1fr);gap:30px;padding:30px 0 40px}.tg-inner-service-visual{grid-template-columns:1fr;gap:14px}.tg-inner-service-visual>span{font-size:18px}.tg-view-for-agencies .tg-inner-services{padding-top:45px;padding-bottom:65px}.tg-inner-service-media{border-radius:20px}.tg-inner-service-copy h2,.tg-view-for-agencies .tg-inner-service-copy h2{font-size:10vw;line-height:1}.tg-inner-service-copy .tg-prose{padding:0}.tg-inner-service-heading{margin-bottom:22px}.tg-circle-arrow{margin-top:0}.tg-inner-why .tg-page-display{font-size:13vw}.tg-benefits{grid-template-columns:minmax(0,1fr);gap:40px}.tg-benefits>div{display:grid;grid-template-columns:60px minmax(0,1fr);gap:25px;max-width:none;align-items:center}.tg-benefits img{width:60px;height:60px;margin:0}.tg-about-quote{min-height:75svh;padding-top:170px;padding-bottom:70px}.tg-about-quote h2{font-size:9vw;line-height:1.13;margin:0}.tg-about-film{height:55svh}.tg-about-arrow{font-size:32vw;margin-top:15px}.tg-company-intro>div:first-child{display:flex;align-items:center;justify-content:space-between}.tg-value{padding:45px 0}.tg-value h2{font-size:12vw;overflow-wrap:normal;max-width:100%}.tg-team-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 15px}.tg-team-cards img{border-radius:12px}.tg-team-cards h3{font-size:22px;line-height:1.05}.tg-team-cards p{font-size:14px}.tg-team-join{display:block;margin-top:50px;padding-top:35px}.tg-team-join h3{max-width:100%;font-size:9vw;margin-bottom:25px}.tg-heading-row{align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:35px}.tg-references .tg-page-display{font-size:12vw}.tg-carousel-buttons button{width:42px;height:42px}.tg-reference{flex-basis:100%;padding:25px}.tg-reference blockquote p{font-size:18px}.tg-listing-hero{padding-top:155px;padding-bottom:45px}.tg-portfolio-list,.tg-news-list{padding-top:0}.tg-gallery-tools{gap:20px;margin-bottom:28px}.tg-gallery-filters{gap:6px 15px}.tg-gallery-filters button{font-size:14px}.tg-search{flex-basis:100%}.tg-project-grid{grid-template-columns:minmax(0,1fr);gap:20px}.tg-project-caption{padding:20px}.tg-project-caption :is(h2,h3){font-size:24px;max-width:92%}.tg-project-caption>span{right:16px;bottom:15px}.tg-project-heading,.tg-article-heading{padding-top:140px;padding-bottom:40px}.tg-project-heading h1,.tg-article-heading h1{font-size:10vw;line-height:1.08}.tg-back{font-size:13px;margin-bottom:30px}.tg-player{border-radius:12px}.tg-project-gallery{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:30px;padding-bottom:30px}.tg-project-pagination{gap:25px;padding-top:35px;padding-bottom:65px}.tg-project-pagination strong{font-size:22px}.tg-project-pagination span{font-size:13px}.tg-news-cards{grid-template-columns:minmax(0,1fr);gap:45px}.tg-news-cards h2{font-size:20px}.tg-article-content{padding:45px 20px}.tg-article-content h2{font-size:8vw;margin-top:35px}.tg-article-content h3,.tg-article-content h4{font-size:26px}.tg-article-cover img{border-radius:15px;min-height:220px}.tg-article-end{padding-bottom:65px}.tg-subservice-hero .tg-inner-title{font-size:11vw;width:100%}.tg-editorial-blocks .tg-value h2{font-size:9vw}.tg-inline-contact h2{font-size:10vw}.tg-contact-heading{padding-top:155px;padding-bottom:55px}.tg-contact-heading h1{font-size:10vw}.tg-view-work-with-us .tg-contact-heading h1{font-size:14vw}.tg-contact-layout{padding-bottom:75px;gap:55px}.tg-contact-details h2{font-size:30px}.tg-form-grid{grid-template-columns:minmax(0,1fr);gap:25px}.tg-form-grid label{font-size:15px}.tg-consent{font-size:13px}.tg-lightbox{padding:65px 20px 75px}.tg-lightbox img{max-height:calc(100dvh - 200px)}.tg-lightbox-prev,.tg-lightbox-next{top:auto;bottom:18px}.tg-lightbox-prev{left:calc(50% - 55px)}.tg-lightbox-next{right:calc(50% - 55px)}.tg-solar-photos{grid-template-columns:1fr;margin:40px 0}}
@media(prefers-reduced-motion:reduce){.tg-interior *,.tg-lightbox *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.light-mode.tg-rebuild:not(.tg-view-service):not(.tg-view-for-agencies):not(.tg-view-subservice) .tg-header{color:#0d1116;background:#fff}.light-mode.tg-rebuild:not(.tg-view-service):not(.tg-view-for-agencies):not(.tg-view-subservice) .tg-logo__dark{display:none}.light-mode.tg-rebuild:not(.tg-view-service):not(.tg-view-for-agencies):not(.tg-view-subservice) .tg-logo__light{display:block}.light-mode.tg-rebuild:not(.tg-view-service):not(.tg-view-for-agencies):not(.tg-view-subservice) .tg-hamburger img{filter:brightness(0)}

/* Contact page matches the original single-column form and contact channels. */
.tg-view-contatti .tg-contact-heading h1{font-size:4.69vw}.tg-view-contatti .tg-contact-layout{grid-template-columns:minmax(0,27fr) minmax(0,73fr);gap:20px;padding-right:10%}.tg-contact-channel{margin-bottom:40px}.tg-contact-channel>p{font-size:20px;margin:0 0 8px}.tg-contact-channel>a{font-size:30px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.tg-contact-channel>.tg-contact-address{font-size:21px;line-height:1.3;font-weight:400}.tg-contact-social{display:flex;gap:20px}.tg-contact-social svg{width:27px;height:27px;fill:currentColor}.tg-form-grid{grid-template-columns:1fr;gap:0}.tg-form-grid>label{font-size:0;gap:0}.tg-rebuild-form input:not([type=checkbox]),.tg-rebuild-form select,.tg-rebuild-form textarea{font-size:28px;padding:18px;line-height:1.15}.tg-rebuild-form input::placeholder,.tg-rebuild-form textarea::placeholder{color:inherit;opacity:.6}.tg-rebuild-form select:invalid{color:#ffffff90}.tg-rebuild-form input[type=file]{font-size:16px;padding-left:0}.tg-view-work-with-us .tg-form-grid>label:has(input[type=file]){font-size:16px;margin-top:30px}.tg-view-work-with-us .tg-form-grid>label:has(input[type=file]) input{margin-top:10px}
.tg-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tg-video-outbound{position:absolute;bottom:15px;left:15px;z-index:3;background:#0d1116d9;color:#fff;border-radius:25px;padding:10px 15px;font-size:14px}.tg-cover-media .tg-video-outbound{display:none}.tg-video-frame[data-video-backed]{opacity:0;transition:opacity .3s}.tg-video-frame[data-video-backed].is-video-ready{opacity:1}.tg-video-frame.is-video-ready~.tg-video-outbound{display:none}
@media(max-width:1024px){.tg-contact-channel>a{font-size:24px}.tg-view-contatti .tg-contact-layout{padding-right:40px;gap:30px;grid-template-columns:minmax(0,32fr) minmax(0,68fr)}}
@media(max-width:767px){.tg-view-contatti .tg-contact-heading h1{font-size:9vw}.tg-view-contatti .tg-contact-layout{grid-template-columns:1fr;padding-right:20px;gap:35px}.tg-contact-channel{margin-bottom:30px}.tg-contact-channel>a{font-size:26px}.tg-rebuild-form input:not([type=checkbox]),.tg-rebuild-form select,.tg-rebuild-form textarea{font-size:22px;padding:17px 8px}.tg-contact-channel>p{font-size:16px}}
.tg-inner-why .tg-editorial-split{grid-template-columns:minmax(0,56fr) minmax(0,44fr)}.tg-company-values .tg-value h2{overflow-wrap:normal;hyphens:manual}@media(max-width:767px){.tg-inner-why .tg-editorial-split{grid-template-columns:1fr}}
.light-mode.tg-rebuild .tg-contact-layout select:invalid{color:#0d111699}.tg-solar-support img{background:#0d1116;margin-top:40px}
.tg-editorial-split{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}.tg-inner-why .tg-editorial-split{grid-template-columns:minmax(0,60fr) minmax(0,40fr)}@media(min-width:768px) and (max-width:1024px){.tg-editorial-split .tg-page-display{font-size:10vw}.tg-inner-why .tg-page-display{font-size:9vw}}@media(max-width:767px){.tg-editorial-split,.tg-inner-why .tg-editorial-split{grid-template-columns:1fr}}

/* About uses the original fixed editorial sizes, separate from display headings. */
.tg-company-values{padding-top:100px;padding-bottom:80px}
.tg-company-values .tg-value{grid-template-columns:minmax(0,41.2fr) minmax(0,58.8fr);gap:100px;padding:40px 0 60px;margin-bottom:20px}
.tg-company-values .tg-value h2{font-size:101.25px;line-height:1;max-width:100%}
.tg-company-values .tg-value:last-child{margin-bottom:0}
.tg-view-about-us .tg-team-heading,.tg-view-about-us .tg-references .tg-page-display{font-size:101.25px;line-height:.85;text-transform:none}
.light-mode.tg-rebuild .tg-inner-service{border-color:#0d111670}
.light-mode.tg-rebuild .tg-circle-arrow{background:#0d1116;color:#fff}
.light-mode.tg-rebuild .tg-news-cards time,.light-mode.tg-rebuild .tg-news-excerpt{color:#666}
@media(max-width:1024px){.tg-company-values .tg-value{gap:40px}.tg-company-values .tg-value h2{font-size:7.5vw}.tg-view-about-us .tg-team-heading,.tg-view-about-us .tg-references .tg-page-display{font-size:10vw}.tg-about-quote h2{font-size:5.5vw}}
@media(max-width:767px){.tg-company-values{padding-top:40px;padding-bottom:40px}.tg-company-values .tg-value{grid-template-columns:1fr;gap:30px;padding:35px 0}.tg-company-values .tg-value h2{font-size:12vw}.tg-company-intro .tg-page-display,.tg-company-intro .tg-page-display span:last-child{font-size:14vw}.tg-view-about-us .tg-team-heading,.tg-view-about-us .tg-references .tg-page-display{font-size:12vw}.tg-about-quote h2{font-size:9vw}}

/* Long words must fit the text column alongside the service arrow. */
@media(min-width:768px) and (max-width:900px){.tg-view-for-agencies .tg-inner-service-copy h2{font-size:5.2vw}.tg-company-intro .tg-page-display{font-size:11.5vw}}
@media(max-width:767px){.tg-view-for-agencies .tg-inner-service-copy h2{font-size:9.5vw}}

/* The arrow occupies only the first line; subsequent title lines use the column. */
.tg-inner-service-heading{display:flow-root}
.tg-inner-service-heading .tg-circle-arrow{float:right;margin:0 0 8px 24px}
.tg-inner-service-heading h2{max-width:100%}
@media(max-width:1024px){.tg-inner-service-heading .tg-circle-arrow{margin-left:15px}}
/* Intro paragraphs follow the same text column as the numbered rows. */
.tg-view-service .tg-inner-intro,.tg-view-for-agencies .tg-inner-intro{margin-left:calc(41.2% + 11.76px);margin-right:0;max-width:583px}
.tg-view-for-agencies .tg-inner-intro{max-width:473px}
.tg-interior[data-page="real-time-3d"] .tg-inner-intro{max-width:609px}
@media(min-width:768px) and (max-width:1024px){.tg-view-service .tg-inner-intro,.tg-view-for-agencies .tg-inner-intro{margin-left:calc(44% + 15.68px)}}
@media(max-width:767px){.tg-view-service .tg-inner-intro,.tg-view-for-agencies .tg-inner-intro{margin-left:0;max-width:100%}}
/* Inner-page refinement: typography, spacing and accessible controls. */
.tg-company-values .tg-value{grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:5vw}
.tg-company-values .tg-value h2{font-size:5.3vw;line-height:1.02;text-transform:uppercase;hyphens:manual;overflow-wrap:normal}
.tg-view-about-us .tg-team-heading,.tg-view-about-us .tg-references .tg-page-display{text-transform:uppercase}
.tg-company-intro{align-items:start}
.tg-company-intro .tg-page-display{line-height:.88;margin:0}
.tg-company-intro .tg-prose>p:first-child{margin-top:0}
.tg-team-cards article{text-align:center;min-width:0}
.tg-team-cards img,.tg-team-cards article:hover img{filter:none;transition:none;border-radius:0}
.tg-team-cards h3{font-size:clamp(22px,1.85vw,36px);font-weight:600;line-height:1.15;margin:28px 0 5px}
.tg-team-cards p{font-size:clamp(16px,1.25vw,24px);line-height:1.25;color:#a562ff;margin:0}
.light-mode .tg-team-cards p{color:#7335bd}
.tg-review-invitation{text-align:center;padding-top:0;padding-bottom:100px}
.tg-review-invitation h2{font-size:clamp(26px,2.5vw,38px);line-height:1.2;margin:0 0 40px}
.tg-review-disclosure summary{display:inline-flex;list-style:none;cursor:pointer;min-height:70px;min-width:300px;justify-content:center;font-size:18px;letter-spacing:1px}
.tg-review-disclosure summary::-webkit-details-marker{display:none}
.tg-review-panel{max-width:900px;text-align:left;margin:50px auto 0;padding:35px;border:1px solid #ffffff60;border-radius:20px}
.tg-review-panel h3{font-size:32px;line-height:1.15;margin:0 0 20px}
.light-mode .tg-review-panel{border-color:#0d111640}
.light-mode .tg-review-panel input,.light-mode .tg-review-panel textarea{border-color:#0d111680}
.tg-view-news .tg-listing-hero{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:40px;align-items:end;padding-bottom:80px}
.tg-view-news .tg-listing-hero .tg-inner-title{font-size:18vw;line-height:.8;width:100%;letter-spacing:-.045em}
.tg-view-news .tg-news-intro{max-width:350px;font-size:24px;line-height:1.2;margin:0 0 .35vw}
.tg-gallery-filters{gap:12px;flex-basis:700px}
.tg-gallery-filters button{padding:13px 21px;min-height:48px;border:1px solid #ffffff80;border-radius:99px;font-size:18px;line-height:1.2;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.tg-gallery-filters button[aria-pressed=true]{background:#fff;color:#0d1116;border-color:#fff;font-weight:600}
.tg-gallery-filters button:hover{background:#2e73ea;color:#fff;border-color:#2e73ea}
.light-mode .tg-gallery-filters button{border-color:#0d111680}
.light-mode .tg-gallery-filters button[aria-pressed=true]{background:#0d1116;color:#fff;border-color:#0d1116}
.tg-solar-hero{min-height:100svh;display:flex;align-items:center}
.tg-solar-hero .tg-inner-hero-content{width:100%;padding-top:180px;padding-bottom:100px}
.tg-solar-hero h1{font-size:8vw;line-height:.95;text-transform:uppercase;max-width:1500px;margin:0;text-wrap:balance}
.tg-view-landing-fotovoltaico .tg-value{grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:5vw}
.tg-view-landing-fotovoltaico .tg-value h2{font-size:4.4vw;line-height:1.05;max-width:100%;text-transform:uppercase;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.tg-solar-support img{background:transparent;mix-blend-mode:screen;max-width:850px;padding:0;margin-top:60px}
.light-mode .tg-solar-support img{filter:invert(1);mix-blend-mode:multiply}
.tg-view-for-agencies .tg-inner-title{max-width:100%;width:85%;line-height:.9}
.tg-view-for-agencies .tg-inner-intro{max-width:473px;margin-top:60px}
.tg-view-for-agencies .tg-inner-intro p{line-height:1.2;margin-bottom:28px}
.tg-view-for-agencies .tg-inner-intro p:last-child{margin-bottom:0}
.tg-editorial-blocks .tg-value h2{text-transform:uppercase;font-size:3.5vw;line-height:1.08;overflow-wrap:normal}
@media(max-width:1024px){
 .tg-company-values .tg-value{gap:30px}.tg-company-values .tg-value h2{font-size:5.8vw}
 .tg-team-cards h3{font-size:24px}.tg-team-cards p{font-size:18px}
 .tg-view-news .tg-listing-hero{gap:25px}.tg-view-news .tg-news-intro{font-size:20px}
 .tg-gallery-filters button{font-size:16px;padding:12px 18px}
 .tg-view-landing-fotovoltaico .tg-value h2{font-size:4.3vw}
 .tg-editorial-blocks .tg-value h2{font-size:4.2vw}
}
@media(max-width:767px){
 .tg-company-values .tg-value{grid-template-columns:1fr;gap:25px}.tg-company-values .tg-value h2{font-size:10vw}
 .tg-team-cards h3{font-size:20px;margin-top:20px}.tg-team-cards p{font-size:15px}
 .tg-review-invitation{padding-bottom:70px}.tg-review-disclosure summary{min-width:0;min-height:60px;width:100%;max-width:320px;font-size:16px}
 .tg-review-panel{padding:25px 15px}.tg-review-panel h3{font-size:26px}
 .tg-view-news .tg-listing-hero{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.tg-view-news .tg-listing-hero .tg-inner-title{font-size:27vw}.tg-view-news .tg-news-intro{font-size:20px;max-width:290px;margin:0}
 .tg-gallery-filters{gap:10px}.tg-gallery-filters button{font-size:15px;padding:11px 16px;min-height:44px}
 .tg-solar-hero h1{font-size:10vw}.tg-solar-hero .tg-inner-hero-content{padding-top:145px;padding-bottom:80px}
 .tg-view-landing-fotovoltaico .tg-value{grid-template-columns:1fr;gap:30px}.tg-view-landing-fotovoltaico .tg-value h2{font-size:8.5vw;max-width:100%}
 .tg-solar-support img{margin-top:35px}.tg-view-for-agencies .tg-inner-intro{max-width:100%;margin-left:0;margin-top:40px}
 .tg-editorial-blocks .tg-value h2{font-size:8.5vw}
}
@media(prefers-reduced-motion:reduce){.tg-gallery-filters button{transition:none}}

@media(max-width:767px){.tg-lang-en.tg-view-for-agencies .tg-inner-service-copy h2{font-size:9vw}.tg-subservice-hero .tg-inner-title{font-size:10.5vw}}

/* Keep the About mark on the US line at every breakpoint. */
.tg-company-intro>div:first-child{display:block;min-width:0}
.tg-company-intro .tg-page-display .tg-about-last{display:flex;align-items:center;gap:.12em;white-space:nowrap}
.tg-company-intro .tg-about-arrow{display:block;flex:0 0 .82em;width:.82em;height:.82em;margin:0;font-size:inherit;color:#ec0d53;fill:currentColor;stroke:none}
/* A visible blue rail makes the existing horizontal references discoverable. */
.tg-view-about-us .tg-reference-track{overflow-x:auto;overflow-y:hidden;padding-bottom:32px;scrollbar-width:auto;scrollbar-color:#347bf4 #ffffff26}
.tg-view-about-us .tg-reference-track::-webkit-scrollbar{height:16px}
.tg-view-about-us .tg-reference-track::-webkit-scrollbar-track{background:#ffffff26;border-radius:20px}
.tg-view-about-us .tg-reference-track::-webkit-scrollbar-thumb{background:#347bf4;border-radius:20px;border:3px solid #0d1116;min-width:70px}
.tg-view-about-us .tg-reference-track::-webkit-scrollbar-thumb:hover{background:#68a0ff}
.light-mode.tg-view-about-us .tg-reference-track{scrollbar-color:#2464d4 #0d111626}
.light-mode.tg-view-about-us .tg-reference-track::-webkit-scrollbar-track{background:#0d111626}
.light-mode.tg-view-about-us .tg-reference-track::-webkit-scrollbar-thumb{background:#2464d4;border-color:#fff}
.tg-view-about-us .tg-reference-track:focus-visible{outline:2px solid #347bf4;outline-offset:8px}

/* Size Vimeo against the actual hero, including tall text on mobile. */
.tg-inner-hero>.tg-cover-media{container-type:size}
.tg-inner-hero>.tg-cover-media .tg-video-frame{width:max(100cqw,177.777778cqh);height:max(100cqh,56.25cqw);min-width:0;min-height:0;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%)}

/* Compact project introductions bring the video closer to the page opening. */
.tg-project-heading{padding-top:138px;padding-bottom:34px}
.tg-project-heading .tg-back{margin-bottom:24px}
.tg-project-heading h1{font-size:clamp(30px,3.35vw,64px);line-height:1.08;margin-bottom:22px;text-wrap:balance;overflow-wrap:break-word}
.tg-project-pagination{gap:24px;padding-top:44px;padding-bottom:60px}
.tg-project-pagination .tg-project-nav-link{display:flex;flex-direction:column;min-width:0;padding:22px 24px;border:1px solid #ffffff40;border-radius:16px;transition:background .2s,border-color .2s}
.tg-project-pagination .tg-project-nav-direction{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:1px;text-transform:uppercase}
.tg-project-nav-direction svg{flex:0 0 40px;width:40px;height:40px;padding:9px;border:1px solid currentColor;border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tg-project-nav-link--next .tg-project-nav-direction{justify-content:flex-end}
.tg-project-pagination strong{display:block;font-size:clamp(18px,1.45vw,28px);font-weight:700;line-height:1.2;overflow-wrap:break-word}
.tg-project-pagination .tg-project-nav-link:hover{background:#2e73ea12;border-color:#347bf4}
.tg-project-pagination .tg-project-nav-link:focus-visible{outline:2px solid #347bf4;outline-offset:4px;border-color:#347bf4}
.light-mode .tg-project-pagination .tg-project-nav-link{border-color:#0d111640}
.light-mode .tg-project-pagination .tg-project-nav-link:hover{border-color:#2464d4}
@media(max-width:767px){
 .tg-project-heading{padding-top:120px;padding-bottom:26px}
 .tg-project-heading .tg-back{margin-bottom:22px}
 .tg-project-heading h1{font-size:clamp(28px,7.5vw,36px);line-height:1.12;margin-bottom:20px}
 .tg-project-pagination{gap:12px;padding-top:30px;padding-bottom:45px}
 .tg-project-pagination .tg-project-nav-link{padding:16px 12px;border-radius:12px}
 .tg-project-pagination .tg-project-nav-direction{gap:8px;font-size:11px;letter-spacing:.3px}
 .tg-project-nav-direction svg{flex-basis:32px;width:32px;height:32px;padding:7px}
 .tg-project-pagination strong{font-size:18px}
}

/* Short, project-specific descriptions follow the primary media. */
.tg-project-description{padding-top:24px}
.tg-project-description p{max-width:960px;margin:0;font-size:20px;line-height:1.45;overflow-wrap:break-word}
@media(max-width:767px){.tg-project-description{padding-top:20px}.tg-project-description p{font-size:18px;line-height:1.45}}

/* ASÍ SOMOS: reserve room for the arrow inside the Spanish heading column. */
.tg-lang-es .tg-company-intro .tg-page-display,
.tg-lang-es .tg-company-intro .tg-page-display > span{font-size:8vw;line-height:.95}
@media(max-width:767px){
  .tg-lang-es .tg-company-intro .tg-page-display,
  .tg-lang-es .tg-company-intro .tg-page-display > span{font-size:14vw}
}

/* Portfolio previews use the same corner radius as the Home work cards. */
@media(max-width:767px){.tg-project-card>a{border-radius:20px}}

/* Service titles use the route type on body and the logical route on main.
   Keep emergency wrapping available for enlarged and spaced accessibility text. */
.tg-view-service .tg-inner-hero .tg-inner-title{width:90%}
[data-page="video-productions"] .tg-inner-hero .tg-inner-title,
.tg-lang-es [data-page="render-adv"] .tg-inner-hero .tg-inner-title{font-size:11vw}
.tg-subservice-hero .tg-inner-title{font-size:min(9vw,180px)}
.tg-lang-es .tg-subservice-hero .tg-inner-title{font-size:min(8vw,165px)}
@media(max-width:767px){
  .tg-view-service .tg-inner-hero .tg-inner-title{width:100%}
  [data-page="video-productions"] .tg-inner-hero .tg-inner-title,
  .tg-lang-es [data-page="render-adv"] .tg-inner-hero .tg-inner-title{font-size:11.5vw}
  .tg-subservice-hero .tg-inner-title{font-size:9.5vw}
  .tg-lang-es .tg-subservice-hero .tg-inner-title{font-size:8.5vw}
}
@media(max-width:1024px){
  .tg-lang-es [data-page="render-adv"] .tg-inner-service-heading h2{font-size:min(8.5vw,40px)}
}
