.solutions-page main{padding-bottom:0!important}
.solutions-hero{height:auto;min-height:460px;background:var(--cream)}
.solutions-intro{position:relative;padding:64px 24px;isolation:isolate}
.solutions-intro h1{font-size:clamp(44px,5vw,70px);line-height:1.02;max-width:780px}
.solutions-intro>.eyebrow{font-size:12px;margin-bottom:22px}
.solutions-intro>p{max-width:590px;font-size:21px;line-height:1.6;margin:20px 0 28px}
.solutions-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.solutions-actions .button{font-size:18px}
.solutions-text-link{background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:5px;padding:10px 0;font-weight:700;line-height:1.5;text-align:left}
.intro-mark{position:absolute;z-index:-1;right:36px;top:90px;rotate:-9deg;display:grid;gap:10px;color:#d9b17a55;border:2px solid #e6c89b66;border-radius:28px;padding:32px;pointer-events:none}
.intro-mark>span{font-size:130px;font-weight:800;line-height:1}
.intro-mark small{font-size:15px;letter-spacing:3px;line-height:1.5}
.solutions-list{padding-top:20px;padding-bottom:40px}
.solution-card{position:relative;display:grid;grid-template-columns:100px 1fr;gap:35px;padding:48px 24px;border-bottom:1px solid #e6ddd0;scroll-margin-top:12px}
.solution-number{color:var(--orange);font-size:44px;letter-spacing:-2px;font-weight:800}
.solution-card h2{font-size:clamp(29px,3vw,40px);line-height:1.15}
.solution-card h3{font-size:20px;line-height:1.5;margin:16px 0 10px;color:var(--ink)}
.solution-card p{max-width:770px;font-size:17px;line-height:1.8;color:#585d5f;margin:0 0 24px}
.solution-card .button{font-size:17px;white-space:normal;text-align:left}
.solution-card#sites{background:var(--cream);border:1px solid #eee1d0;border-radius:24px;margin-top:28px}
.digital-features{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px;font-size:15px}
.digital-features li::before{content:'✓';color:#925800;font-weight:800;margin-right:10px}
.vehicles-crosslink{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:32px;border:1px solid #eadbc6;border-radius:24px;background:#fffaf3}
.vehicles-crosslink h2{font-size:30px;line-height:1.15}
.vehicles-crosslink p{line-height:1.7;margin-bottom:0}
.vehicles-crosslink .button{font-size:16px;white-space:normal}
.solutions-page select{width:100%;border:1px solid #cbbfae;border-radius:9px;padding:12px;background:#fffaf3;color:var(--ink);font:inherit}
@media(min-width:761px) and (max-width:1100px){.intro-mark{opacity:.3;right:0}.solutions-intro>p{max-width:540px}}

@media(max-width:760px){
 .solutions-hero{height:auto;min-height:0}
 .solutions-intro{padding:42px 0}
 .solutions-intro h1{font-size:44px;letter-spacing:-2px}
 .solutions-intro>p{font-size:18px}
 .solutions-actions{gap:12px;align-items:flex-start;flex-direction:column}
 .intro-mark{display:none}
 .solutions-list{padding-top:0;padding-bottom:28px}
 .solution-card{grid-template-columns:1fr;gap:12px;padding:32px 0}
 .solution-number{font-size:27px}
 .solution-card h3{font-size:18px}
 .solution-card p{font-size:16px}
 .solution-card#sites{padding:26px 20px}
 .vehicles-crosslink{flex-direction:column;align-items:flex-start;padding:25px;gap:24px}
 .vehicles-crosslink h2{font-size:27px}
}
/* Project photography */
.solutions-hero{overflow:hidden}.solutions-hero::after{display:none}
.solutions-intro{padding-right:54%;min-height:570px;display:block}
.solutions-intro h1{font-size:clamp(42px,4.7vw,66px)}.solutions-intro>p{font-size:19px}
.solutions-hero-project{position:absolute;right:24px;top:50%;transform:translateY(-50%) rotate(2deg);width:43%;margin:0;background:var(--ink);color:#fff;border-radius:28px;box-shadow:18px 22px 0 #efaa3330}
.solutions-hero-project::before{content:'';position:absolute;inset:-18px 20px 22px -18px;border:1px solid #df9c39;border-radius:30px;z-index:-1}
.letterbox-photo{position:relative;overflow:hidden;aspect-ratio:1.74}
.letterbox-photo img{position:absolute!important;width:209%!important;height:auto!important;max-width:none!important;right:-1%;bottom:-1%;display:block}
.solutions-hero-project>.letterbox-photo{aspect-ratio:1.35;border-radius:26px 26px 0 0}
.solutions-hero-project figcaption{padding:22px 25px;font-size:19px;font-weight:700;line-height:1.5}
.solutions-hero-project figcaption span{display:block;font-size:10px;letter-spacing:2px;color:var(--yellow);margin-bottom:7px}
.solutions-hero-project figcaption small{display:block;font-size:13px;font-weight:400;color:#d6dadd}
.solution-card:has(.solution-photo){grid-template-columns:65px minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:28px}
.solution-photo{margin:0;position:relative;overflow:hidden;border-radius:20px;background:#dfe4e3;aspect-ratio:1.25}
.solution-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.solution-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:38px 18px 16px;background:linear-gradient(transparent,#101b25dd);color:white;font-size:13px;line-height:1.5;z-index:1}
#sinalizacao .solution-photo{aspect-ratio:1.34}#sinalizacao .solution-photo>img{object-fit:contain;background:#033b40}
@media(max-width:1000px){.solutions-intro{padding-right:49%}.solutions-hero-project{width:42%;right:8px}.solutions-actions{gap:10px}.solution-card:has(.solution-photo){grid-template-columns:45px minmax(0,1fr);gap:20px}.solution-card>.solution-photo{grid-column:2;width:100%;max-width:600px;aspect-ratio:1.6}}
@media(max-width:760px){.solutions-intro{padding:40px 0 38px;min-height:0}.solutions-intro h1{font-size:44px}.solutions-hero-project{position:relative;top:auto;right:auto;transform:none;width:calc(100% - 10px);margin:34px 0 10px 8px;box-shadow:10px 12px 0 #efaa3330}.solutions-hero-project>.letterbox-photo{aspect-ratio:1.65}.solutions-hero-project figcaption{padding:18px 20px;font-size:17px}.solution-card:has(.solution-photo){grid-template-columns:minmax(0,1fr);gap:14px}.solution-card>.solution-photo{grid-column:1;margin-top:10px;aspect-ratio:1.25}}
/* Website portfolio */
.sites-showcase{grid-column:1 / -1;min-width:0;margin-top:18px;padding-top:30px;border-top:1px solid #e4d4bf}
.sites-showcase-heading{max-width:650px;margin-bottom:24px}
.solution-card .sites-showcase-heading h3{font-size:clamp(24px,3vw,34px);line-height:1.25;margin:10px 0}
.solution-card .sites-showcase-heading p{font-size:16px;margin:0}
.sites-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.site-project{display:block;min-width:0;background:#fffaf4;border:1px solid #e2d5c5;border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.site-project:hover{transform:translateY(-4px);box-shadow:0 12px 28px #252b2e12}
.site-project:focus-visible{outline:3px solid #925800;outline-offset:4px}
.site-browser{display:flex;align-items:center;gap:4px;height:30px;padding:0 10px;background:#eee8df;border-bottom:1px solid #dfd5c7}
.site-browser i{width:5px;height:5px;border-radius:50%;background:#b7afa3;flex-shrink:0}
.site-browser>span{font-size:9px;letter-spacing:.1px;color:#63615c;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-project-preview{aspect-ratio:16/9;overflow:hidden;background:#252b2e}
.site-project-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s}
.site-project:hover img{transform:scale(1.025)}
.site-project-info{padding:18px}
.site-project-info h4{font-size:18px;line-height:1.3;margin:0 0 7px}
.solution-card .site-project-info p{font-size:13px;line-height:1.5;margin:0 0 18px;color:#585d5f}
.site-project-info>span{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;color:#744500}
@media(max-width:1000px){.sites-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sites-projects{grid-template-columns:minmax(0,1fr);gap:20px}.sites-showcase{margin-top:10px;padding-top:24px}.site-project-info{padding:18px}}
/* Compact service images */
.solution-card:has(.solution-photo){grid-template-columns:65px minmax(0,1fr) minmax(0,300px)}
.solution-card>.solution-photo{width:100%;max-width:300px;justify-self:end;aspect-ratio:1.4}
#sinalizacao .solution-photo{aspect-ratio:1.4}
@media(max-width:1000px) and (min-width:761px){.solution-card:has(.solution-photo){grid-template-columns:45px minmax(0,1fr) minmax(0,240px);gap:20px}.solution-card>.solution-photo{grid-column:auto;max-width:240px}}
@media(max-width:760px){.solution-card:has(.solution-photo){grid-template-columns:minmax(0,1fr)}.solution-card>.solution-photo{grid-column:1;max-width:300px;justify-self:center;aspect-ratio:1.4}}
/* Click to enlarge photography and website previews. */
.site-project-preview,.solutions-hero-project{position:relative}
.image-zoom-trigger{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:12px;border:0;background:transparent;cursor:zoom-in;display:flex;align-items:flex-start;justify-content:flex-end;border-radius:inherit}
.image-zoom-trigger>span{background:#252b2ee8;color:#fff;border:1px solid #ffffff55;border-radius:30px;padding:7px 11px;font-size:11px;font-weight:700;line-height:1.2}
.image-zoom-trigger:hover>span{background:#ffb900;color:#252b2e}
.image-zoom-trigger:focus-visible,.site-project-visit:focus-visible{outline:3px solid #925800;outline-offset:-4px}
.site-project-info>.site-project-visit{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;color:#744500;min-height:32px}
.site-project-visit:hover{text-decoration:underline}
html.image-viewer-open{overflow:hidden}
dialog.image-viewer{position:fixed;inset:0;margin:auto;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:65px 24px 24px;border:0;border-radius:0;background:#141a20f5;color:white;overflow:auto;box-sizing:border-box}
.image-viewer::backdrop{background:#141a20e8}
.image-viewer figure{margin:0 auto;width:fit-content;max-width:100%;pointer-events:none}
.image-viewer figure img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 140px);object-fit:contain;margin:auto;border-radius:8px;pointer-events:auto}
.image-viewer figcaption{font-size:14px;line-height:1.5;text-align:center;margin:16px 0 0;color:#eee}
.image-viewer-close{position:fixed;top:14px;right:22px;width:42px;height:42px;display:grid;place-items:center;padding:0;background:transparent;color:#fff;border:0;border-radius:0;font-size:36px;line-height:1;z-index:2}
.image-viewer-close:focus-visible{outline:3px solid #ffb900;outline-offset:3px}
@media(max-width:600px){dialog.image-viewer{padding:70px 12px 24px}.image-viewer-close{right:14px}.image-viewer figcaption{font-size:13px}}
/* Compact service carousels */
.solution-card>.service-carousel{aspect-ratio:auto;max-width:300px;background:#f4eadd;border:1px solid #e2d5c5;border-radius:18px}
.service-carousel-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:#242b30}
.service-carousel-stage>img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.solution-photo.service-carousel figcaption{position:static;padding:12px 14px 0;background:none;color:var(--ink);font-size:12px;font-weight:700}
.service-carousel-controls{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;gap:12px}
.service-carousel-controls[hidden]{display:none}
.service-carousel-controls button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:32px;line-height:1;padding:0}
.service-carousel-controls button:hover{background:transparent;color:#925800}
.service-carousel-controls button svg{display:block;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.service-carousel-controls button:focus-visible{outline:3px solid #925800;outline-offset:2px}
.service-carousel-controls>span{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
#sinalizacao .service-carousel{aspect-ratio:auto}
/* Keep the banner image in its own column and frame its dedicated photo. */
.solutions-intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);column-gap:65px;align-content:center;padding:64px 24px;min-height:570px}
.solutions-intro>.eyebrow,.solutions-intro>h1,.solutions-intro>.accent,.solutions-intro>p,.solutions-intro>.solutions-actions{grid-column:1;min-width:0}
.solutions-hero-project{position:relative;grid-column:2;grid-row:1 / 6;align-self:center;right:auto;top:auto;transform:none;width:100%;margin:0}
.solutions-hero-project>.letterbox-photo{aspect-ratio:1.74;isolation:isolate}
.solutions-hero-project>.letterbox-photo img{position:static!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover;right:auto;bottom:auto}
@media(min-width:761px) and (max-width:1000px){.solutions-intro{column-gap:36px;padding:48px 16px}.solution-card>.service-carousel{max-width:240px}}
@media(max-width:760px){.solutions-intro{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:40px 0 38px;gap:0}.solutions-hero-project{width:100%;margin:30px 0 10px;position:relative;right:auto;top:auto}.solution-card>.service-carousel{max-width:300px;aspect-ratio:auto}}
/* Same layered photo-deck composition as the vehicle gallery. */
.solution-card>.service-carousel{background:transparent;border:0;overflow:visible}
.service-carousel-stage{aspect-ratio:1.5;background:transparent;overflow:visible;isolation:isolate}
.service-deck-card{position:absolute;top:22%;left:0;width:52%;aspect-ratio:16/9;padding:0;border:2px solid #fffaf3;border-radius:18px;background:#fffaf3;box-shadow:0 5px 10px #352a2638;overflow:hidden;transition:transform .4s ease,left .4s ease,top .4s ease,width .4s ease,opacity .4s ease;pointer-events:none}
.service-deck-card>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px;-webkit-user-drag:none;user-select:none}
.service-deck-card[data-position="left"]{left:0;top:28%;width:52%;transform:rotate(-6deg);z-index:1;opacity:1}
.service-deck-card[data-position="right"]{left:48%;top:28%;width:52%;transform:rotate(5deg);z-index:1;opacity:1}
.service-deck-card[data-position="center"]{left:16%;top:8%;width:68%;transform:rotate(-3deg);z-index:2;opacity:1;pointer-events:auto}
.service-deck-card[data-position="hidden"]{left:24%;top:25%;width:52%;opacity:0;visibility:hidden;transform:scale(.9);z-index:0}
.service-deck-card .image-zoom-trigger{padding:5px}
.service-deck-card .image-zoom-trigger>span{font-size:9px;padding:5px 7px}
.solution-photo.service-carousel figcaption{text-align:center;padding:0 10px}
.service-carousel-controls{padding:10px 8px}
@media(prefers-reduced-motion:reduce){.service-deck-card{transition:none}}
.service-deck-card:not([data-position="center"]) .image-zoom-trigger{visibility:hidden}
/* Animated wrapped car beside the vehicle service invitation. */
.vehicles-crosslink .crosslink-car{display:block;width:140px;height:auto;flex:0 0 140px;animation:wrapped-car-drive 3s ease-in-out infinite}
.vehicles-crosslink>div{flex:1;min-width:0}
@keyframes wrapped-car-drive{0%,100%{transform:translateX(-5px) translateY(0)}35%{transform:translateX(5px) translateY(-2px)}65%{transform:translateX(3px) translateY(0)}}
@media(max-width:1000px) and (min-width:761px){.vehicles-crosslink{gap:22px}.vehicles-crosslink .crosslink-car{width:100px;flex-basis:100px}.vehicles-crosslink h2{font-size:26px}}
@media(max-width:760px){.vehicles-crosslink .crosslink-car{width:130px;flex:0 0 auto;margin-bottom:-12px}}
@media(prefers-reduced-motion:reduce){.vehicles-crosslink .crosslink-car{animation:none}}

/* Equal mobile gutters for service photo decks 01–04. */
@media(max-width:760px){
 .solutions-list .solution-card:has(.solution-photo){min-width:0}
 .solutions-list .solution-card>.solution-photo{grid-column:1;justify-self:center;width:min(300px,calc(100% - 12px));max-width:100%;margin:16px auto 0}
}

/* Experience and clearer next steps without widening the mobile layout. */
.solutions-experience{display:block;font-size:17px;line-height:1.5;margin-bottom:12px;color:var(--ink)}
.solutions-actions .button{white-space:normal;text-align:left;max-width:100%;line-height:1.4}
.solutions-faq{padding-top:40px}
.solutions-faq h2{max-width:780px}
@media(max-width:760px){.solutions-experience{font-size:16px}.solutions-actions .button{font-size:17px}.solutions-faq{padding-top:32px}}

/* Emphasize the founding year while keeping the supporting copy readable. */
.solutions-experience{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:20px}
.experience-year{display:inline-flex;align-items:baseline;gap:7px;padding:10px 15px;border-radius:12px;background:var(--yellow);color:var(--ink);font-size:16px;font-weight:800;line-height:1.1;white-space:nowrap}
.experience-year>span{font-size:34px;letter-spacing:-1px}
.experience-caption{max-width:210px;font-size:15px;line-height:1.5;font-weight:600}
@media(max-width:760px){.solutions-experience{gap:12px}.experience-year{padding:10px 13px}.experience-year>span{font-size:32px}.experience-caption{max-width:180px;font-size:14px}}
