/* Alternative visual direction. Shared copy and functionality stay in the base build. */
.editorial-theme {
  --paper: #fff;
  --warm: #f5f5f7;
  --ink: #19182f;
  --muted: #666672;
  --line: #e2e2e8;
  --title-accent: #d7760a;
  background: #fff;
  font-family: Manrope, Arial, sans-serif;
}
.editorial-theme .wrap { width: min(1280px, calc(100% - 96px)); }
.editorial-theme h1, .editorial-theme h2, .editorial-theme h3 { font-weight: 600; letter-spacing: -.045em; }
.editorial-theme h1 { font-size: clamp(48px,5.6vw,82px); line-height: 1.04; }
.editorial-theme h2 { font-size: clamp(38px,4.6vw,64px); line-height: 1.08; }
.editorial-theme em { color: var(--title-accent); }
.editorial-theme .eyebrow { font-size: 12px; letter-spacing: .015em; text-transform: none; font-weight: 600; margin-bottom: 20px; }
.editorial-theme .eyebrow::before { display: none; }
.editorial-theme .preview-strip { background: #f5f5f7; color: #666672; }
.editorial-theme .preview-strip .wrap { padding-block: 7px; font-size: 10px; }
.editorial-theme .site-header { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; border-color: #ededf1; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.editorial-theme .header-inner { min-height: 76px; transition: min-height .18s ease; }
.editorial-theme .brand img { width: 150px; transition: width .18s ease; }
.editorial-theme .site-header.is-scrolled { background: rgb(255 255 255 / 82%); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border-color: rgb(226 226 232 / 75%); box-shadow: 0 5px 22px rgb(25 24 47 / 4%); }
.editorial-theme .site-header.is-scrolled .header-inner { min-height: 64px; }
.editorial-theme .site-header.is-scrolled .brand img { width: 136px; }
.editorial-theme .site-header.is-menu-open { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
.editorial-theme .site-header.is-menu-open .header-inner { min-height: 76px; }
.editorial-theme .site-header.is-menu-open .brand img { width: 150px; }
.editorial-theme .site-header .brand, .editorial-theme .site-header .menu-toggle { min-height: 44px; align-items: center; }
.editorial-theme .desktop-nav { gap: 27px; }
.editorial-theme .desktop-nav a { font-size: 12px; }
.editorial-theme .button { border-radius: 40px; font-weight: 600; gap: 22px; padding: 16px 24px; min-height: 54px; box-shadow: none; }
.editorial-theme .header-cta { min-height: 44px; padding: 11px 19px; font-size: 11px; }
.editorial-theme .text-link { border: 0; font-weight: 600; color: #3e357f; }
.editorial-theme .text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.editorial-theme .section { padding-block: 94px; }
.editorial-theme .section-heading { margin-bottom: 42px; }
.editorial-theme .section-heading .lede { font-size: 17px; line-height: 1.7; margin-top: 24px; }
.editorial-theme .lede { line-height: 1.7; }
.editorial-theme .fineprint { line-height: 1.8; font-size: 11px; }
.editorial-theme .hero { padding-block: 64px 84px; }
.editorial-theme .hero-grid { gap: 65px; }
.editorial-theme .hero-copy .actions { gap: 17px 25px; }
.editorial-theme .hero-visual { border-radius: 28px; }
.editorial-theme .hero-visual img { aspect-ratio: .94; }
.editorial-theme .simple-caption, .editorial-theme .square-media figcaption { background: #f5f5f7; color: #666672; padding: 15px 20px; }
.editorial-theme .rating { margin-top: 30px; }
.editorial-theme .trust-line { background: #f5f5f7; border: 0; }
.editorial-theme .trust-line .wrap { padding-block: 28px; }
.editorial-theme .warm { background: #f5f5f7; }
.editorial-theme .dark { background: #131228; }
.editorial-theme .dark em { color: #f7bd56; }
.editorial-theme .square-media { border-radius: 25px; overflow: hidden; }
.editorial-theme .steps li { padding-block: 26px; }
.editorial-theme .steps h3 { font-size: 24px; }
.editorial-theme .steps p { font-size: 15px; }
.editorial-theme .step-no { color: var(--title-accent); font-size: 14px; }
.editorial-theme .final-cta { background: #f5f5f7; color: var(--ink); padding-block: 88px; }
.editorial-theme .final-cta em { color: var(--title-accent); }
.editorial-theme .final-inner { align-items: end; }
.editorial-theme .final-inner h2 { font-size: clamp(38px,4.2vw,58px); }
.editorial-theme .final-inner p:not(.eyebrow) { color: var(--muted); font-size: 15px; }
.editorial-theme .final-cta .button { background: var(--indigo); color: white; flex: 0 0 auto; }
.editorial-theme .site-footer { background: #fff; border-top: 1px solid #e7e7ec; padding-top: 58px; }
.editorial-theme .contact-dock { background: rgb(255 255 255 / 96%); border-color: #e2e2e8; }
.editorial-theme .offer { background: #fff; border-radius: 28px; padding: 45px; }
.editorial-theme .offer-price { border-color: #e2e2e8; }
.editorial-theme .installation-offer { background: white; color: var(--ink); box-shadow: 0 10px 48px rgb(30 25 60 / 5%); }
.editorial-theme .installation-offer .eyebrow { color: #787184; }
.editorial-theme .price-selectors select { background: #f6f6f8; color: var(--ink); border-color: #ceced8; }
.editorial-theme .meter-options { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; min-width: 0; padding: 0; margin: 0; border: 0; }
.editorial-theme .meter-options legend { font-size: 13px; margin-bottom: 13px; font-weight: 550; line-height: 1.6; }
.editorial-theme .meter-options label { position: relative; display: block; margin: 0; }
.editorial-theme .meter-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.editorial-theme .meter-options label > span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 65px; padding: 10px 4px; border: 1px solid #d8d6e1; background: #fff; border-radius: 11px; font-size: 10px; color: #6d697a; cursor: pointer; }
.editorial-theme .meter-options strong { font-size: 17px; font-weight: 600; color: #2d2945; }
.editorial-theme .meter-options input:checked + span { color: #e4deed; background: #2c2866; border-color: #2c2866; }
.editorial-theme .meter-options input:checked + span strong { color: #fff; }
.editorial-theme .meter-options input:focus-visible + span { outline: 3px solid #ad7b2a; outline-offset: 4px; }
.editorial-theme .installation-price { border-color: #e2e2e8; }
.editorial-theme .price-prefix, .editorial-theme .price-schedule, .editorial-theme .installation-offer .fineprint, .editorial-theme .offer-scope, .editorial-theme .unknown-distance { color: #666672; }
.editorial-theme .installation-price .price-amount { color: #292564; font-weight: 650; letter-spacing: -.045em; }
.editorial-theme .pix-price { border-color: #e2e2e8; }
.editorial-theme .pix-price b, .editorial-theme .grounding-included, .editorial-theme .unknown-distance a { color: #805411; }
.editorial-theme .offer-scope strong { color: #27233f; }
.editorial-theme .installation-offer .button { background: var(--indigo); color: #fff; }
.editorial-theme .assessment-offer { border-color: #dfdfe8; }
.editorial-theme .visit-credit { background: #f5f3f9; }
.editorial-theme .project-story { grid-template-columns: 1.2fr 1fr; gap: 70px; }
.editorial-theme .project-photo { border-radius: 26px; }
.editorial-theme .project-photo img { aspect-ratio: 1.1; }
.editorial-theme .project-copy h2 { font-size: 48px; }
.editorial-theme .project-copy blockquote { color: var(--indigo); }
.editorial-theme .project-photo figcaption { background: #f5f5f7; color: #666672; }
.editorial-theme .case-metrics { border-color: #e2e2e8; }
.editorial-theme .regional-intro, .editorial-theme .city-hero { background: #f5f5f7; }
.editorial-theme .regional-base { background: #fff; border: 1px solid #e5e5eb; }
.editorial-theme .city-card, .editorial-theme .city-service-grid article { background: #f5f5f7; border-color: transparent; border-radius: 23px; }
.editorial-theme .contact-card { background: #f5f5f7; border-color: transparent; border-radius: 26px; }
.editorial-theme .contact-card input, .editorial-theme .contact-card select, .editorial-theme .contact-card textarea { background: white; }
/* The opening is one photographic composition, with copy and photograph sharing a frame. */
.hero-film { margin: 22px 24px 0; background: #13122d; border-radius: 26px; overflow: hidden; color: white; }
.film-inner { display: grid; grid-template-columns: 1.04fr 1fr; min-height: 650px; position: relative; }
.film-copy { padding: 70px clamp(32px,5vw,80px); z-index: 1; align-self: center; }
.film-label { font-size: 12px; font-weight: 500; color: #d2cce7; margin-bottom: 32px; }
.film-copy h1 { font-size: clamp(52px,5.5vw,82px); max-width: 12ch; line-height: 1.015; letter-spacing: -.05em; }
.film-copy h1 em { color: #ffb44b; }
.film-lead { font-size: 15px; line-height: 1.75; color: #dedbea; max-width: 40ch; margin-top: 28px; }
.film-copy .actions { margin-top: 28px; }
.film-copy .button { background: #f7bd56; color: #19162d; }
.film-photo { position: relative; height: 100%; min-height: 650px; }
.film-photo picture, .film-photo img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; }
.film-photo img { object-fit: cover; object-position: 50% 42%; }
.film-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#13122d 0%,transparent 32%); pointer-events: none; }
.film-footer { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding: 20px clamp(32px,5vw,80px); border-top: 1px solid #ffffff20; font-size: 11px; color: #dcd8ea; }
.film-footer a { display: inline-flex; align-items: center; gap: 17px; color: #fff; min-height: 30px; }
.first-proof > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 27px; }
.first-proof > .wrap > p { font-size: 12px; line-height: 1.6; color: #777481; }
.first-proof strong { color: #2b285c; font-weight: 550; }
.first-proof .customer-voices--proof { padding: 0; background: transparent; }
.first-proof .customer-voices__inner { width: 100%; margin: 0; }
.editorial-theme .solar-track-record { background: white; border-top: 1px solid #e7e7ed; border-bottom: 0; padding-block: 60px 38px; }
.editorial-theme .solar-record-intro h2 { font-size: 32px; }
.editorial-theme .solar-record-grid { grid-template-columns: 1fr 1fr 1.3fr; gap: 28px 55px; }
.editorial-theme .solar-record-metric > strong { font-size: clamp(40px,5vw,68px); font-weight: 600; }
.editorial-theme .solar-record-source { font-size: 10px; border-color: #e7e7ed; }
.editorial-theme .solutions { background: #101015; color: #fff; padding-block: 85px; }
.solutions-intro { display: flex; gap: 45px; align-items: end; justify-content: space-between; margin-bottom: 40px; }
.solutions-intro h2 { font-size: clamp(44px,5vw,72px); }
.solutions-intro em { color: #f7bd56; }
.solutions-intro > p { font-size: 15px; max-width: 29ch; line-height: 1.75; color: #c9c6d2; padding-bottom: 5px; }
.editorial-theme .solutions .eyebrow { color: #d0cadc; }
.editorial-theme .solution-tabs { min-height: 560px; gap: 16px; }
.editorial-theme .solution-panel { border-radius: 23px; border: 1px solid #ffffff26; }
.editorial-theme .solution-panel > picture img { filter: brightness(.62) saturate(.82); }
.editorial-theme .solution-panel::after { transition: opacity .35s ease; }
.editorial-theme .solution-panel.is-active { flex: 4.5; border-color: #f7bd56; box-shadow: 0 0 0 1px rgb(247 189 86 / 48%), 0 18px 42px rgb(0 0 0 / 24%); }
.editorial-theme .solution-panel.is-active > picture img { filter: brightness(1.05) saturate(1.05); }
.editorial-theme .solution-panel.is-active::after { opacity: .22; }
.editorial-theme .solution-panel.is-active .solution-trigger .solution-no,
.editorial-theme .solution-panel.is-active .solution-trigger b { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 5px 10px; border: 1px solid rgb(247 189 86 / 58%); border-radius: 999px; background: rgb(15 15 20 / 82%); color: #fff0d2; line-height: 1; }
.editorial-theme .solution-body { padding: 25px; background: rgb(15 15 20 / 82%); border: 1px solid #d3aa584d; border-radius: 18px; bottom: 25px; left: 25px; right: 25px; }
.editorial-theme .solution-panel.is-active .solution-body { background: rgb(15 15 20 / 88%); border-color: rgb(247 189 86 / 72%); box-shadow: 0 12px 32px rgb(0 0 0 / 22%); }
.editorial-theme .solution-panel.is-active .solution-body h3 { color: #fff; }
.editorial-theme .solution-panel.is-active .solution-body p { color: #eeeaf5; }
.editorial-theme .solution-panel.is-active .solution-body a { color: #ffdc97; }
.editorial-theme .solution-body h3 { font-size: 32px; line-height: 1.15; }
.editorial-theme .solution-body p { font-size: 13px; }
.editorial-theme .solution-body .eyebrow { display: none; }
.editorial-theme .solutions .fineprint { color: #c2beca; }
.office-feature { background: #f5f5f7; padding-block: 105px; }
.office-feature-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(45px,7vw,100px); align-items: center; }
.office-feature figure { border-radius: 28px; overflow: hidden; background: #e3e1e1; }
.office-feature picture, .office-feature img { display: block; width: 100%; }
.office-feature img { height: auto; aspect-ratio: 1; object-fit: cover; object-position: 50% 46%; }
.office-feature figcaption { font-size: 10px; padding: 15px 19px; color: #64616e; background: #ebeaf0; }
.office-feature-copy h2 { font-size: clamp(42px,4.2vw,60px); }
.office-feature-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; color: #666672; max-width: 40ch; margin-top: 25px; }
.hero-film--aftercare .film-inner { display: flex; align-items: center; min-height: 670px; isolation: isolate; }
.hero-film--aftercare .film-content { width: 57%; position: relative; z-index: 1; }
.hero-film--aftercare .film-copy { padding-bottom: 0; }
.hero-film--aftercare .film-title-line { display: block; }
.hero-film--aftercare .film-copy h1 { max-width: none; }
.hero-film--aftercare .film-lead { max-width: 35ch; }
.hero-film--aftercare .film-photo { position: absolute; inset: 0; width: 100%; min-height: 0; z-index: -1; }
.hero-film--aftercare .film-photo img { object-position: 63% 50%; }
.hero-film--aftercare .film-photo::after { background: linear-gradient(90deg,#13122dfc 0%,#181638e8 31%,#1b193e79 57%,transparent 85%),linear-gradient(0deg,#13122d88,transparent 42%); }
.hero-film--aftercare .film-actions { padding: 0 clamp(32px,5vw,80px) 64px; margin-top: 28px; }
.hero-film--aftercare .film-actions .button { background: #f7bd56; color: #19162d; }
.aftercare-feature { padding-block: 90px 70px; background: white; }
.aftercare-heading { max-width: 920px; }
.aftercare-heading h2 { font-size: clamp(38px,4.5vw,63px); }
.aftercare-heading > p:last-child { max-width: 63ch; font-size: 17px; color: #686570; line-height: 1.8; margin-top: 27px; }
.aftercare-services { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-top: 55px; }
.aftercare-services article { padding-top: 23px; border-top: 1px solid #e0dee8; }
.aftercare-services article > span { font-size: 12px; color: #a16b18; }
.aftercare-services h3 { font-size: 23px; margin-top: 18px; }
.aftercare-services p { font-size: 14px; line-height: 1.75; color: #686570; margin-top: 13px; max-width: 36ch; }
.aftercare-offer { width: min(960px,100%); margin: 58px auto 0; padding: clamp(36px,4.5vw,56px); background: #f5f5f7; border-radius: 42px; scroll-margin-top: 110px; }
.editorial-theme .aftercare-offer-copy h3 { max-width: 29ch; font-size: clamp(26px,3.1vw,36px); line-height: 1.35; letter-spacing: -.035em; color: #19182f; }
.aftercare-offer-copy p { margin-top: 21px; font-size: 20px; line-height: 1.65; color: #666672; }
.aftercare-offer-price { margin-top: 40px; }
.aftercare-offer-price > p { color: #666672; font-size: 20px; line-height: 1.6; }
.aftercare-offer-price > strong { display: block; margin-top: 13px; font-family: Manrope,Arial,sans-serif; font-size: clamp(64px,7.3vw,88px); line-height: 1.12; font-weight: 750; letter-spacing: -.055em; color: #19182f; white-space: nowrap; }
.aftercare-offer-price > .aftercare-offer-total { margin-top: 22px; }
.aftercare-offer-price > .aftercare-offer-schedule { margin-top: 11px; font-size: 14px; }
.editorial-theme .aftercare-offer .button { display: flex; width: 100%; margin-top: 36px; min-height: 64px; padding: 18px 28px; border-radius: 999px; background: #2d2867; color: #fff; font-size: 20px; font-weight: 600; gap: 27px; }
.editorial-theme .aftercare-offer .button:hover { background: #3c347c; }
.editorial-theme .aftercare-offer .button span[aria-hidden] { color: inherit; font-size: 30px; margin: 0; flex-shrink: 0; }
.aftercare-feature .aftercare-offer-note { width: min(960px,100%); max-width: 960px; margin: 26px auto 0; color: #666672; font-size: 15px; line-height: 1.8; }
.home-case-focus { padding-block: 100px; background: white; }
.home-case-focus-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.home-case-focus figure { border-radius: 24px; overflow: hidden; background: #f5f5f7; }
.home-case-focus figure > a { display: block; overflow: hidden; }
.home-case-focus picture { display: block; position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; }
/* A fixed square frame brings the roof forward without lengthening the mobile
   section. The original photograph and the complete panel arrays are retained. */
.home-case-focus img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 14%; transform: scale(1.4); transform-origin: 50% 50%; }
.home-case-focus figcaption { padding: 17px 20px; font-size: 11px; color: #686570; }
.home-case-focus h2 { font-size: clamp(38px,3.9vw,55px); }
.home-case-focus blockquote { font-size: 19px; line-height: 1.7; margin-top: 30px; color: #393361; }
.home-case-focus .text-link { margin-left: 20px; }
.home-case-focus .case-metrics { margin-block: 25px; }
@media (max-width: 1100px) {
  .editorial-theme .meter-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .editorial-theme .wrap { width: calc(100% - 64px); }
  .editorial-theme .desktop-nav { gap: 16px; }
  .editorial-theme .header-cta { display: none; }
  .film-copy { padding: 55px 36px; }
  .hero-film--aftercare .film-actions { padding-inline: 36px; }
  .home-case-focus-grid { gap: 42px; }
  .film-copy h1 { font-size: 62px; }
  .editorial-theme .hero-grid, .editorial-theme .project-story { gap: 38px; }
}
@media (max-width: 850px) {
  .film-inner { min-height: 580px; }
  .film-photo { min-height: 580px; }
  .film-copy h1 { font-size: 52px; }
  .editorial-theme .hero-grid { gap: 28px; }
  .editorial-theme h1 { font-size: 55px; }
  .office-feature-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .office-feature-copy h2 { font-size: 40px; }
}
/* As regras exclusivas do celular continuam em editorial-mobile.css, carregado depois deste arquivo. */

.editorial-theme .whatsapp-link { color: #147d45; }
.editorial-theme .final-cta .whatsapp-link--secondary { color: #147d45; border-color: #cfe3d7; }
.editorial-theme .whatsapp-link--header { font-size: 11px; }
