/* =========================================================

   RETEKLIMA — HOME STYLESHEET

   Collegato da azienda/index.html come: css/reteklima-azienda.css

   ========================================================= */



:root {

--rk-green: #67b14a;

--rk-green-dark: #4e9338;

--rk-green-soft: #edf6e9;

--rk-ink: #17211a;

--rk-text: #4d5650;

--rk-muted: #7e8880;

--rk-line: #e7ece8;

--rk-soft: #f7f9f7;

--rk-white: #ffffff;

--rk-dark: #101711;

--rk-shadow-sm: 0 8px 24px rgba(17, 31, 20, .07);

--rk-shadow-md: 0 18px 50px rgba(17, 31, 20, .11);

--rk-shadow-lg: 0 28px 80px rgba(7, 17, 10, .20);

--rk-radius: 18px;

--rk-ease: cubic-bezier(.2,.75,.2,1);

}



html {

scroll-behavior: smooth;

}



body {

color: var(--rk-text);

background: #fff;

}



body.rk-lightbox-open {

overflow: hidden;

}



/* ---------------------------------------------------------

HEADER / MOBILE CONTACT

--------------------------------------------------------- */

.mobile-whatsapp {

z-index: 9999;

transition: transform .25s var(--rk-ease), box-shadow .25s var(--rk-ease);

}



.mobile-whatsapp:hover {

transform: scale(1.06);

}



@media only screen and (max-width: 768px) {

.mobile-whatsapp {

right: 16px !important;

bottom: 18px !important;

width: 58px !important;

height: 58px !important;

}

}



/* ---------------------------------------------------------

HERO

--------------------------------------------------------- */

.rk-page-hero {

position: relative;

}



.rk-hero-copy {

max-width: 920px;

padding: 40px 0 30px;

}



.rk-eyebrow {

display: inline-flex;

align-items: center;

gap: 10px;

font-family: 'Montserrat', sans-serif;

font-size: 11px;

line-height: 1;

letter-spacing: .18em;

text-transform: uppercase;

font-weight: 700;

color: var(--rk-green-dark);

}



.rk-eyebrow::before {

content: '';

width: 28px;

height: 2px;

border-radius: 999px;

background: currentColor;

}



.rk-eyebrow.light {

color: #bce6aa;

}



.rk-hero-copy h1 {

max-width: 930px;

margin: 20px 0 20px;

font-family: 'Montserrat', sans-serif;

font-size: clamp(2.7rem, 5vw, 5.5rem);

line-height: .98;

letter-spacing: -.045em;

font-weight: 700;

}



.rk-hero-subtitle {

max-width: 720px;

margin: 0 0 30px;

color: rgba(255,255,255,.88);

font-size: clamp(1rem, 1.5vw, 1.3rem);

line-height: 1.7;

}



.rk-hero-cta {

display: inline-flex;

align-items: center;

gap: 14px;

padding: 13px 18px 13px 20px;

color: #fff !important;

background: rgba(255,255,255,.10);

border: 1px solid rgba(255,255,255,.28);

border-radius: 999px;

text-decoration: none !important;

font-family: 'Montserrat', sans-serif;

font-size: 12px;

font-weight: 700;

letter-spacing: .05em;

transition: background .25s ease, border-color .25s ease, transform .25s var(--rk-ease);

}



.rk-hero-cta:hover {

background: rgba(103,177,74,.95);

border-color: rgba(103,177,74,.95);

transform: translateY(-2px);

}



/* ---------------------------------------------------------

MAIN LAYOUT / INDEX

--------------------------------------------------------- */

.rk-section-wrap {

padding: 86px 0 105px;

background:

radial-gradient(circle at 12% 18%, rgba(103,177,74,.055), transparent 29%),

linear-gradient(180deg, #fff 0%, #fbfcfb 100%);

}



.rk-content-layout {

align-items: flex-start;

}



.rk-index-col {

position: relative;

}



.rk-index-card {

position: sticky;

top: 118px;

padding: 24px 23px 20px;

background: rgba(255,255,255,.85);

border: 1px solid var(--rk-line);

border-radius: 16px;

box-shadow: var(--rk-shadow-sm);

backdrop-filter: blur(8px);

}



.rk-index-label {

display: block;

margin-bottom: 14px;

color: var(--rk-muted);

font-family: 'Montserrat', sans-serif;

font-size: 10px;

font-weight: 700;

letter-spacing: .17em;

text-transform: uppercase;

}



.rk-index-card nav {

display: flex;

flex-direction: column;

}



.rk-index-card nav a {

display: flex;

align-items: center;

gap: 11px;

padding: 12px 9px;

color: #4a544c;

border-left: 2px solid transparent;

text-decoration: none !important;

font-family: 'Montserrat', sans-serif;

font-size: 13px;

font-weight: 600;

transition: color .2s ease, background .2s ease, border-color .2s ease, padding .2s ease;

}



.rk-index-card nav a span {

color: #abb4ad;

font-size: 10px;

font-weight: 700;

letter-spacing: .08em;

}



.rk-index-card nav a:hover,

.rk-index-card nav a.active {

color: var(--rk-green-dark);

background: var(--rk-green-soft);

border-left-color: var(--rk-green);

padding-left: 13px;

}



.rk-index-note {

display: flex;

gap: 10px;

margin-top: 18px;

padding-top: 17px;

border-top: 1px solid var(--rk-line);

color: #68716b;

font-size: 12px;

line-height: 1.6;

}



.rk-index-note i {

margin-top: 2px;

color: var(--rk-green);

}



/* ---------------------------------------------------------

CONTENT CHAPTERS

--------------------------------------------------------- */

.rk-main-copy {

max-width: 860px;

}



.rk-content-section {

scroll-margin-top: 110px;

}



.rk-content-section + .rk-content-section {

margin-top: 88px;

padding-top: 82px;

border-top: 1px solid var(--rk-line);

}



.rk-section-heading {

margin-bottom: 34px;

}



.rk-section-heading h2 {

margin: 17px 0 17px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: clamp(2rem, 3.2vw, 3.4rem);

line-height: 1.08;

letter-spacing: -.035em;

font-weight: 700;

}



.rk-lead {

max-width: 780px;

margin: 0;

color: #59625b;

font-size: 1.09rem;

line-height: 1.82;

}



.rk-benefit-grid {

display: grid;

grid-template-columns: repeat(3, minmax(0,1fr));

gap: 16px;

margin: 32px 0;

}



.rk-benefit-card {

position: relative;

overflow: hidden;

min-height: 255px;

padding: 26px 24px 24px;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: var(--rk-radius);

box-shadow: 0 4px 0 rgba(103,177,74,.03), var(--rk-shadow-sm);

transition: transform .28s var(--rk-ease), box-shadow .28s var(--rk-ease), border-color .28s ease;

}



.rk-benefit-card::after {

content: '';

position: absolute;

right: -30px;

bottom: -35px;

width: 130px;

height: 130px;

border-radius: 50%;

background: rgba(103,177,74,.06);

}



.rk-benefit-card:hover {

transform: translateY(-6px);

border-color: #dce9d8;

box-shadow: var(--rk-shadow-md);

}



.rk-icon {

display: inline-flex;

align-items: center;

justify-content: center;

width: 48px;

height: 48px;

margin-bottom: 24px;

color: var(--rk-green-dark);

background: var(--rk-green-soft);

border-radius: 14px;

font-size: 18px;

}



.rk-benefit-card h3,

.rk-process-step h3 {

margin: 0 0 10px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1.03rem;

font-weight: 700;

}



.rk-benefit-card p,

.rk-process-step p {

margin: 0;

color: #6b746d;

font-size: .94rem;

line-height: 1.72;

}



.rk-two-column-box {

display: grid;

grid-template-columns: 1.15fr .85fr;

gap: 22px;

align-items: stretch;

margin-top: 22px;

}



.rk-two-column-box > div {

padding: 26px;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: 16px;

}



.rk-small-title {

display: inline-block;

margin-bottom: 15px;

color: var(--rk-muted);

font-family: 'Montserrat', sans-serif;

font-size: 10px;

font-weight: 700;

letter-spacing: .14em;

text-transform: uppercase;

}



.rk-check-list {

margin: 0;

padding: 0;

list-style: none;

}



.rk-check-list li {

display: flex;

gap: 10px;

align-items: flex-start;

margin: 0 0 13px;

color: #5a645c;

font-size: .93rem;

line-height: 1.58;

}



.rk-check-list li:last-child {

margin-bottom: 0;

}



.rk-check-list i {

flex: 0 0 auto;

margin-top: 4px;

color: var(--rk-green);

font-size: 12px;

}



.rk-callout {

display: flex;

flex-direction: column;

justify-content: center;

background: linear-gradient(140deg, #f7fbf6, #eef7ea) !important;

border-color: #dcebd6 !important;

}



.rk-callout p {

margin: 0;

color: #4d5a50;

font-size: 1.03rem;

line-height: 1.72;

}



.rk-process-list {

position: relative;

margin: 30px 0 0;

padding-left: 2px;

}



.rk-process-list::before {

content: '';

position: absolute;

left: 23px;

top: 23px;

bottom: 23px;

width: 1px;

background: linear-gradient(180deg, #cde4c5, #e8eee9 88%);

}



.rk-process-step {

position: relative;

display: grid;

grid-template-columns: 48px 1fr;

gap: 18px;

margin-bottom: 26px;

}



.rk-process-step:last-child {

margin-bottom: 0;

}



.rk-step-number {

position: relative;

z-index: 1;

display: flex;

align-items: center;

justify-content: center;

width: 48px;

height: 48px;

color: var(--rk-green-dark);

background: #fff;

border: 1px solid #cfe1ca;

border-radius: 50%;

box-shadow: 0 0 0 7px #fbfcfb;

font-family: 'Montserrat', sans-serif;

font-size: 11px;

font-weight: 700;

}



.rk-process-step h3 {

margin-top: 3px;

margin-bottom: 7px;

font-size: 1.06rem;

}



.rk-method-banner {

display: grid;

grid-template-columns: 58px 1fr;

gap: 18px;

margin-top: 34px;

padding: 25px;

background: var(--rk-dark);

border-radius: 18px;

color: #eff8ec;

box-shadow: var(--rk-shadow-md);

}



.rk-method-icon {

display: flex;

align-items: center;

justify-content: center;

width: 58px;

height: 58px;

color: #bfe5b0;

background: rgba(103,177,74,.12);

border: 1px solid rgba(180,225,166,.18);

border-radius: 16px;

font-size: 21px;

}



.rk-method-banner .rk-small-title {

margin-top: 3px;

color: #a9d69a;

}



.rk-method-banner p {

margin: 0;

color: rgba(255,255,255,.77);

font-size: .94rem;

line-height: 1.72;

}



.rk-testimonial-box {

position: relative;

margin-top: 28px;

padding: 28px 32px 26px;

background: #fff;

border-left: 4px solid var(--rk-green);

border-radius: 0 16px 16px 0;

box-shadow: var(--rk-shadow-sm);

}



.rk-testimonial-box p {

margin: 12px 0 10px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: clamp(1.1rem, 2vw, 1.45rem);

line-height: 1.55;

letter-spacing: -.015em;

}



.rk-signature {

color: var(--rk-green-dark);

font-family: 'Montserrat', sans-serif;

font-size: 11px;

font-weight: 700;

letter-spacing: .1em;

text-transform: uppercase;

}



/* ---------------------------------------------------------

PORTFOLIO INTRO / STATS

--------------------------------------------------------- */

.rk-project-heading {

margin-bottom: 26px;

}



.rk-stat-strip {

display: grid;

grid-template-columns: repeat(3, minmax(0,1fr));

gap: 0;

margin: 28px 0 32px;

overflow: hidden;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: 16px;

box-shadow: var(--rk-shadow-sm);

}



.rk-stat-strip > div {

padding: 19px 22px;

}



.rk-stat-strip > div + div {

border-left: 1px solid var(--rk-line);

}



.rk-stat-strip strong,

.rk-stat-strip span {

display: block;

}



.rk-stat-strip strong {

margin-bottom: 6px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1.35rem;

line-height: 1;

}



.rk-stat-strip span {

color: var(--rk-muted);

font-size: 12px;

line-height: 1.5;

}



/* ---------------------------------------------------------

FEATURED PROJECT MOSAIC

--------------------------------------------------------- */

.rk-featured-projects {

display: grid;

grid-template-columns: minmax(0,1.28fr) minmax(270px,.72fr);

gap: 14px;

margin: 28px 0 24px;

}



.featured-main,

.featured-mini {

position: relative;

overflow: hidden;

cursor: pointer;

background: #131a14;

border-radius: 20px;

box-shadow: var(--rk-shadow-md);

}



.featured-main {

min-height: 480px;

}



.featured-main img,

.featured-mini img {

display: block;

width: 100%;

height: 100%;

object-fit: cover;

transition: transform .7s var(--rk-ease);

}



.featured-main::after,

.featured-mini::after {

content: '';

position: absolute;

inset: 0;

background: linear-gradient(180deg, rgba(0,0,0,.02) 20%, rgba(5,12,7,.78) 100%);

pointer-events: none;

}



.featured-main:hover img,

.featured-mini:hover img {

transform: scale(1.045);

}



.featured-main-overlay,

.featured-mini-overlay {

position: absolute;

z-index: 2;

right: 0;

bottom: 0;

left: 0;

color: #fff;

}



.featured-main-overlay {

display: flex;

justify-content: space-between;

align-items: flex-end;

gap: 20px;

padding: 34px;

}



.featured-main-overlay h3 {

margin: 9px 0 7px;

color: #fff;

font-family: 'Montserrat', sans-serif;

font-size: clamp(1.55rem, 3vw, 2.5rem);

line-height: 1.05;

letter-spacing: -.035em;

}



.featured-main-overlay p {

margin: 0;

color: rgba(255,255,255,.78);

font-size: .91rem;

}



.featured-open {

display: inline-flex;

align-items: center;

justify-content: center;

flex: 0 0 auto;

width: 48px;

height: 48px;

color: #fff;

background: rgba(255,255,255,.12);

border: 1px solid rgba(255,255,255,.2);

border-radius: 50%;

backdrop-filter: blur(5px);

}



.featured-side {

display: grid;

grid-template-columns: repeat(2, minmax(0,1fr));

grid-template-rows: repeat(2, minmax(0,1fr));

gap: 14px;

}



.featured-mini {

min-height: 230px;

border-radius: 16px;

box-shadow: var(--rk-shadow-sm);

}



.featured-mini-overlay {

padding: 19px;

}



.featured-mini-overlay span,

.featured-mini-overlay strong,

.featured-mini-overlay em {

display: block;

}



.featured-mini-overlay span {

color: rgba(255,255,255,.74);

font-size: 10px;

letter-spacing: .08em;

text-transform: uppercase;

}



.featured-mini-overlay strong {

margin-top: 5px;

color: #fff;

font-family: 'Montserrat', sans-serif;

font-size: 14px;

line-height: 1.25;

}



.featured-mini-overlay em {

margin-top: 8px;

color: #ccebbf;

font-size: 11px;

font-style: normal;

}



/* ---------------------------------------------------------

FILTER TOOLBAR

--------------------------------------------------------- */

.rk-gallery-toolbar {

display: flex;

align-items: center;

justify-content: space-between;

gap: 16px;

margin: 30px 0 20px;

}



.rk-filters {

display: flex;

flex-wrap: wrap;

gap: 7px;

}



.rk-filter {

appearance: none;

border: 1px solid #dfe6e0;

border-radius: 999px;

padding: 9px 13px;

color: #5c675f;

background: #fff;

font-family: 'Montserrat', sans-serif;

font-size: 10px;

font-weight: 700;

letter-spacing: .04em;

cursor: pointer;

transition: all .2s ease;

}



.rk-filter:hover,

.rk-filter.is-active {

color: #fff;

background: var(--rk-green-dark);

border-color: var(--rk-green-dark);

}



.rk-search {

position: relative;

display: flex;

align-items: center;

flex: 0 0 195px;

}



.rk-search i {

position: absolute;

left: 12px;

color: #9aa49d;

font-size: 12px;

pointer-events: none;

}



.rk-search input {

width: 100%;

height: 38px;

padding: 0 12px 0 34px;

color: #475149;

background: #fff;

border: 1px solid #dfe6e0;

border-radius: 999px;

outline: none;

font-size: 12px;

transition: border-color .2s ease, box-shadow .2s ease;

}



.rk-search input:focus {

border-color: #a9c79e;

box-shadow: 0 0 0 4px rgba(103,177,74,.10);

}



/* ---------------------------------------------------------

PROJECT GRID / CARDS

--------------------------------------------------------- */

.rk-projects-section .projects-grid {

display: grid;

grid-template-columns: repeat(3, minmax(0,1fr));

gap: 16px;

margin-top: 18px;

}



.rk-projects-section .project-card {

position: relative;

display: flex;

flex-direction: column;

min-width: 0;

overflow: hidden;

padding: 0 !important;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: 17px;

box-shadow: 0 5px 20px rgba(17,31,20,.045);

cursor: pointer;

transition: transform .28s var(--rk-ease), box-shadow .28s var(--rk-ease), border-color .28s ease;

}



.rk-projects-section .project-card:hover {

transform: translateY(-6px);

border-color: #d6e5d1;

box-shadow: var(--rk-shadow-md);

}



.rk-projects-section .project-card:focus-visible,

.featured-main:focus-visible,

.featured-mini:focus-visible {

outline: 3px solid rgba(103,177,74,.35);

outline-offset: 3px;

}



.rk-projects-section .project-card.is-hidden {

display: none;

}



.project-card-image {

position: relative;

height: 220px;

overflow: hidden;

background: #e9edea;

}



.project-card-image img {

display: block;

width: 100%;

height: 100%;

object-fit: cover;

transition: transform .65s var(--rk-ease), filter .35s ease;

}



.rk-projects-section .project-card:hover .project-card-image img {

transform: scale(1.07);

}



.project-card-image::after {

content: '';

position: absolute;

inset: 0;

background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.22) 100%);

pointer-events: none;

}



.project-badge {

position: absolute;

z-index: 3;

top: 12px;

right: 12px;

padding: 7px 10px;

color: #fff;

background: rgba(16,23,17,.75);

border: 1px solid rgba(255,255,255,.2);

border-radius: 999px;

font-family: 'Montserrat', sans-serif;

font-size: 9px;

font-weight: 700;

letter-spacing: .05em;

backdrop-filter: blur(8px);

}



.project-card-overlay {

position: absolute;

z-index: 4;

inset: auto 0 0;

display: flex;

align-items: center;

justify-content: space-between;

gap: 10px;

padding: 13px 15px;

color: #fff;

opacity: 0;

transform: translateY(8px);

background: linear-gradient(180deg, transparent, rgba(8,15,10,.86));

transition: opacity .25s ease, transform .25s ease;

}



.rk-projects-section .project-card:hover .project-card-overlay,

.rk-projects-section .project-card:focus-visible .project-card-overlay {

opacity: 1;

transform: translateY(0);

}



.project-view {

font-family: 'Montserrat', sans-serif;

font-size: 10px;

font-weight: 700;

}



.project-view i {

margin-right: 6px;

color: #bde3af;

}



.project-view-type {

color: rgba(255,255,255,.7);

font-size: 9px;

text-transform: uppercase;

letter-spacing: .08em;

}



.project-card-body {

display: flex;

flex-direction: column;

flex: 1;

padding: 19px 17px 17px !important;

text-align: left !important;

}



.project-card-kicker {

margin-bottom: 7px;

color: var(--rk-muted);

font-family: 'Montserrat', sans-serif;

font-size: 9px;

font-weight: 700;

letter-spacing: .07em;

text-transform: uppercase;

}



.rk-projects-section .project-card-body h3 {

margin: 0;

min-height: 38px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 14px;

line-height: 1.35;

font-weight: 700;

letter-spacing: -.01em;

}



.project-card-footer {

display: flex;

align-items: center;

justify-content: space-between;

gap: 12px;

margin-top: 18px;

padding-top: 13px;

border-top: 1px solid var(--rk-line);

color: #6e7870;

font-size: 11px;

}



.project-arrow {

display: inline-flex;

align-items: center;

justify-content: center;

width: 31px;

height: 31px;

flex: 0 0 auto;

color: var(--rk-green-dark);

background: var(--rk-green-soft);

border-radius: 50%;

transition: transform .2s var(--rk-ease), background .2s ease, color .2s ease;

}



.rk-projects-section .project-card:hover .project-arrow {

color: #fff;

background: var(--rk-green-dark);

transform: translateX(4px);

}



.rk-no-results {

display: none;

margin: 25px 0 0;

padding: 30px;

color: #717a73;

text-align: center;

background: #fff;

border: 1px dashed #d9e1db;

border-radius: 15px;

}



.rk-no-results.is-visible {

display: block;

}



/* ---------------------------------------------------------

LIGHTBOX

--------------------------------------------------------- */

.lightbox-overlay {

position: fixed;

inset: 0;

z-index: 10000;

display: flex;

align-items: center;

justify-content: center;

padding: 20px;

background: rgba(4,9,6,.88);

opacity: 0;

visibility: hidden;

pointer-events: none;

transition: opacity .3s ease, visibility .3s ease;

backdrop-filter: blur(10px);

}



.lightbox-overlay.active {

opacity: 1;

visibility: visible;

pointer-events: auto;

}



.lightbox-backdrop {

position: absolute;

inset: 0;

}



.lightbox-shell {

position: relative;

z-index: 2;

display: flex;

flex-direction: column;

width: min(1400px, 96vw);

max-height: 94vh;

padding: 20px 20px 14px;

overflow: hidden;

background: rgba(13,20,15,.93);

border: 1px solid rgba(255,255,255,.10);

border-radius: 24px;

box-shadow: var(--rk-shadow-lg);

transform: translateY(14px) scale(.985);

transition: transform .35s var(--rk-ease);

}



.lightbox-overlay.active .lightbox-shell {

transform: translateY(0) scale(1);

}



.lightbox-topbar {

display: flex;

align-items: center;

justify-content: space-between;

gap: 20px;

padding: 3px 3px 16px 4px;

}



.lightbox-kicker {

display: block;

margin-bottom: 5px;

color: #a6c99b;

font-family: 'Montserrat', sans-serif;

font-size: 9px;

font-weight: 700;

letter-spacing: .13em;

text-transform: uppercase;

}



.lightbox-topbar h3 {

margin: 0;

color: #fff;

font-family: 'Montserrat', sans-serif;

font-size: clamp(1rem, 2vw, 1.35rem);

line-height: 1.3;

}



.lightbox-close {

position: static !important;

display: inline-flex;

align-items: center;

justify-content: center;

width: 42px;

height: 42px;

flex: 0 0 auto;

padding: 0 !important;

color: rgba(255,255,255,.86) !important;

background: rgba(255,255,255,.07) !important;

border: 1px solid rgba(255,255,255,.10) !important;

border-radius: 50% !important;

font-size: 16px !important;

cursor: pointer;

transition: background .2s ease, color .2s ease, transform .2s ease;

}



.lightbox-close:hover {

color: #fff !important;

background: var(--rk-green) !important;

transform: rotate(4deg);

}



.lightbox-stage {

position: relative;

display: flex;

align-items: center;

min-height: 0;

flex: 1 1 auto;

}



.lightbox-media {

display: flex;

flex-direction: column;

align-items: center;

justify-content: center;

width: 100%;

min-height: 0;

}



.lightbox-media img {

display: block;

width: auto;

max-width: calc(100% - 110px);

max-height: 62vh;

object-fit: contain;

border-radius: 12px;

box-shadow: 0 25px 70px rgba(0,0,0,.44);

opacity: 0;

transition: opacity .2s ease;

}



.lightbox-media img.is-visible {

opacity: 1;

}



.lightbox-caption-wrap {

width: min(900px, 88%);

padding: 13px 5px 3px;

text-align: center;

}



.lightbox-caption {

margin: 0;

color: rgba(255,255,255,.9);

font-size: 13px;

line-height: 1.5;

}



.lightbox-counter {

display: inline-block;

margin-top: 4px;

color: rgba(255,255,255,.42);

font-family: 'Montserrat', sans-serif;

font-size: 9px;

font-weight: 700;

letter-spacing: .12em;

}



.lightbox-nav {

position: absolute;

top: 50%;

z-index: 3;

display: inline-flex;

align-items: center;

justify-content: center;

width: 48px;

height: 48px;

padding: 0 !important;

color: #fff;

background: rgba(255,255,255,.08);

border: 1px solid rgba(255,255,255,.14);

border-radius: 50%;

box-shadow: none;

transform: translateY(-50%);

cursor: pointer;

transition: background .2s ease, border-color .2s ease, transform .2s var(--rk-ease);

}



.lightbox-nav:hover {

background: var(--rk-green);

border-color: var(--rk-green);

transform: translateY(-50%) scale(1.06);

}



.lightbox-prev {

left: 13px;

}



.lightbox-next {

right: 13px;

}



.lightbox-thumbs {

display: flex;

gap: 8px;

min-height: 74px;

margin-top: 13px;

padding: 7px 4px 4px;

overflow-x: auto;

overscroll-behavior-x: contain;

scrollbar-width: thin;

scrollbar-color: rgba(255,255,255,.22) transparent;

}



.lightbox-thumb {

position: relative;

width: 76px;

height: 58px;

flex: 0 0 auto;

padding: 0;

overflow: hidden;

background: rgba(255,255,255,.04);

border: 1px solid rgba(255,255,255,.11);

border-radius: 9px;

opacity: .55;

cursor: pointer;

transition: opacity .2s ease, border-color .2s ease, transform .2s var(--rk-ease);

}



.lightbox-thumb:hover {

opacity: .9;

transform: translateY(-2px);

}



.lightbox-thumb.active {

opacity: 1;

border-color: #9ad686;

box-shadow: 0 0 0 2px rgba(103,177,74,.20);

}



.lightbox-thumb img {

display: block;

width: 100%;

height: 100%;

object-fit: cover;

}



.lightbox-help {

display: flex;

justify-content: space-between;

gap: 12px;

padding: 6px 4px 0;

color: rgba(255,255,255,.34);

font-size: 9px;

}



.lightbox-help i {

margin-right: 5px;

}



/* ---------------------------------------------------------

FOOTER

--------------------------------------------------------- */

.custom-footer {

position: relative;

background: #fff;

border-top: 1px solid var(--rk-line);

color: #333;

}



.custom-footer .footer-logo {

max-width: 210px;

height: auto;

margin-bottom: 20px;

}



.custom-footer .social-icons-container {

display: flex;

align-items: center;

gap: 10px;

margin-top: 20px;

}



.custom-footer .social-circle-btn {

display: inline-flex;

align-items: center;

justify-content: center;

width: 42px;

height: 42px;

border: 1px solid #bcd6b4;

border-radius: 50%;

color: var(--rk-green-dark);

background: #fff;

text-decoration: none !important;

transition: all .22s ease;

}



.custom-footer .social-circle-btn:hover {

color: #fff !important;

background: var(--rk-green);

border-color: var(--rk-green);

transform: translateY(-2px);

}



.custom-footer h4.footer-heading {

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1.08rem;

font-weight: 700;

margin-bottom: 18px;

letter-spacing: -.01em;

}



.custom-footer .nav-col {

padding-left: 30px;

}



.custom-footer ul.footer-links-list {

margin: 0;

padding: 0;

list-style: none;

}



.custom-footer ul.footer-links-list li {

margin-bottom: 10px;

}



.custom-footer ul.footer-links-list li a {

color: #59615b;

text-decoration: none;

font-size: .95rem;

transition: color .2s ease;

}



.custom-footer ul.footer-links-list li a:hover {

color: var(--rk-green-dark);

}



.custom-footer .contact-info-list {

display: flex;

flex-direction: column;

gap: 15px;

}



.custom-footer .contact-item {

display: flex;

align-items: flex-start;

font-size: .95rem;

color: #59615b;

}



.custom-footer .contact-item i {

color: var(--rk-green);

font-size: 1.08rem;

margin-right: 12px;

margin-top: 3px;

width: 20px;

text-align: center;

flex-shrink: 0;

}



.custom-footer .footer-bottom-bar {

border-top: 1px solid var(--rk-line);

}



/* ---------------------------------------------------------

RESPONSIVE

--------------------------------------------------------- */

@media only screen and (max-width: 1024px) {

.rk-section-wrap {

padding-top: 65px;

padding-bottom: 80px;

}



.rk-benefit-grid,

.rk-projects-section .projects-grid {

    grid-template-columns: repeat(2, minmax(0,1fr));

}



.rk-two-column-box {

    grid-template-columns: 1fr;

}



.rk-featured-projects {

    grid-template-columns: 1fr;

}



.featured-side {

    min-height: 220px;

}





}



@media only screen and (max-width: 768px) {

.rk-hero-copy {

padding-top: 25px;

}



.rk-hero-copy h1 {

    margin-top: 15px;

    font-size: clamp(2.15rem, 10vw, 3.7rem);

}



.rk-hero-subtitle {

    font-size: .98rem;

    line-height: 1.65;

}



.rk-section-wrap {

    padding: 52px 0 65px;

}



.rk-content-section + .rk-content-section {

    margin-top: 64px;

    padding-top: 60px;

}



.rk-benefit-grid,

.rk-projects-section .projects-grid {

    grid-template-columns: 1fr;

}



.rk-stat-strip {

    grid-template-columns: 1fr;

}



.rk-stat-strip > div + div {

    border-top: 1px solid var(--rk-line);

    border-left: 0;

}



.rk-featured-projects {

    margin-top: 22px;

}



.featured-main {

    min-height: 350px;

}



.featured-main-overlay {

    padding: 23px;

}



.featured-side {

    grid-template-columns: 1fr 1fr;

}



.featured-mini {

    min-height: 175px;

}



.rk-gallery-toolbar {

    align-items: stretch;

    flex-direction: column;

}



.rk-search {

    flex-basis: auto;

    width: 100%;

}



.project-card-image {

    height: 225px;

}



.project-card-overlay {

    opacity: 1;

    transform: translateY(0);

}



.lightbox-overlay {

    padding: 8px;

}



.lightbox-shell {

    width: 100%;

    max-height: 98vh;

    padding: 12px 12px 10px;

    border-radius: 17px;

}



.lightbox-media img {

    max-width: calc(100% - 70px);

    max-height: 56vh;

    border-radius: 9px;

}



.lightbox-nav {

    width: 38px;

    height: 38px;

}



.lightbox-prev { left: 2px; }

.lightbox-next { right: 2px; }



.lightbox-thumbs {

    min-height: 63px;

}



.lightbox-thumb {

    width: 64px;

    height: 49px;

}



.lightbox-help {

    display: none;

}



.custom-footer .nav-col {

    padding-left: 0 !important;

    margin-top: 30px;

}





}



@media only screen and (max-width: 520px) {

.featured-side {

grid-template-columns: 1fr;

}



.featured-mini {

    min-height: 190px;

}



.rk-method-banner {

    grid-template-columns: 1fr;

}



.rk-method-icon {

    width: 50px;

    height: 50px;

}



.rk-testimonial-box {

    padding: 24px 20px 22px;

}



.rk-process-step {

    grid-template-columns: 43px 1fr;

    gap: 13px;

}



.rk-process-list::before {

    left: 21px;

}



.rk-step-number {

    width: 43px;

    height: 43px;

}





}



/* =========================================================

ReteKlima — Contatti / Contact page

Uses the same visual system as the Riqualificazioni page.

========================================================= */



.rk-contact-hero .rk-hero-copy {

max-width: 900px;

}



.rk-hero-actions {

display: flex;

flex-wrap: wrap;

align-items: center;

gap: 12px;

}



.rk-hero-cta-secondary {

background: rgba(255,255,255,.04);

}



.rk-contact-section {

position: relative;

padding: 92px 0 100px;

background: #fff;

}



.rk-contact-section + .rk-contact-section {

border-top: 1px solid var(--rk-line);

}



.rk-contact-overview {

padding-top: 86px;

}



.rk-section-kicker {

display: inline-flex;

align-items: center;

gap: 9px;

margin-bottom: 13px;

color: var(--rk-green-dark);

font-family: 'Montserrat', sans-serif;

font-size: 10px;

line-height: 1.2;

font-weight: 700;

letter-spacing: .18em;

text-transform: uppercase;

}



.rk-section-kicker::before {

content: '';

width: 25px;

height: 2px;

border-radius: 99px;

background: currentColor;

}



.rk-section-kicker-light {

color: #bfe7ae;

}



.rk-section-title {

margin: 0 auto 18px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: clamp(2rem, 3.3vw, 3.15rem);

line-height: 1.08;

letter-spacing: -.035em;

font-weight: 700;

}



.rk-section-lead {

max-width: 800px;

margin: 0 auto;

color: var(--rk-text);

font-size: 1.04rem;

line-height: 1.82;

}



.rk-contact-cards {

margin-top: 45px;

}



.rk-contact-card {

position: relative;

height: 100%;

min-height: 330px;

display: flex;

flex-direction: column;

padding: 35px 31px 29px;

overflow: hidden;

background:

linear-gradient(180deg, #fff 0%, #fbfdfb 100%);

border: 1px solid var(--rk-line);

border-radius: var(--rk-radius);

box-shadow: var(--rk-shadow-sm);

transition:

transform .28s var(--rk-ease),

box-shadow .28s var(--rk-ease),

border-color .28s ease;

}



.rk-contact-card::after {

content: '';

position: absolute;

left: 0;

right: 0;

top: 0;

height: 4px;

background: linear-gradient(90deg, var(--rk-green), #98cb82);

transform: scaleX(.35);

transform-origin: left;

transition: transform .35s var(--rk-ease);

}



.rk-contact-card:hover {

transform: translateY(-7px);

border-color: #d6e4d2;

box-shadow: var(--rk-shadow-md);

}



.rk-contact-card:hover::after {

transform: scaleX(1);

}



.rk-contact-card-icon {

display: inline-flex;

align-items: center;

justify-content: center;

width: 58px;

height: 58px;

margin-bottom: 22px;

color: var(--rk-green-dark);

background: var(--rk-green-soft);

border: 1px solid #d7eacc;

border-radius: 16px;

font-size: 22px;

}



.rk-contact-card-label,

.rk-mini-label {

display: block;

margin-bottom: 8px;

color: var(--rk-muted);

font-family: 'Montserrat', sans-serif;

font-size: 10px;

line-height: 1.3;

font-weight: 700;

letter-spacing: .14em;

text-transform: uppercase;

}



.rk-contact-card h3 {

margin: 0 0 14px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1.35rem;

line-height: 1.2;

font-weight: 700;

}



.rk-contact-card p {

margin: 0 0 24px;

color: var(--rk-text);

font-size: .97rem;

line-height: 1.7;

}



.rk-contact-card-link {

margin-top: auto;

color: var(--rk-green-dark) !important;

text-decoration: none !important;

font-family: 'Montserrat', sans-serif;

font-size: .88rem;

font-weight: 700;

line-height: 1.4;

word-break: break-word;

}



.rk-contact-card-link i {

margin-left: 5px;

transition: transform .2s ease;

}



.rk-contact-card-link:hover i {

transform: translateX(4px);

}



.rk-contact-quick {

padding: 0 0 12px;

background: #fff;

}



.rk-contact-quick-inner {

display: flex;

align-items: center;

justify-content: space-between;

gap: 28px;

padding: 23px 25px;

background: #f7faf6;

border: 1px solid #dfeade;

border-radius: 16px;

}



.rk-contact-quick-title {

display: flex;

flex-direction: column;

align-items: flex-start;

min-width: 200px;

}



.rk-contact-quick-title .rk-section-kicker {

margin-bottom: 6px;

}



.rk-contact-quick-title strong {

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1.05rem;

}



.rk-contact-quick-actions {

display: flex;

align-items: center;

justify-content: flex-end;

flex-wrap: wrap;

gap: 10px;

}



.rk-contact-pill {

display: inline-flex;

align-items: center;

gap: 11px;

min-height: 52px;

padding: 9px 15px;

color: var(--rk-ink) !important;

background: #fff;

border: 1px solid #dfe8dc;

border-radius: 13px;

text-decoration: none !important;

box-shadow: 0 4px 14px rgba(17,31,20,.035);

transition: transform .22s var(--rk-ease), box-shadow .22s ease, border-color .22s ease;

}



.rk-contact-pill:hover {

transform: translateY(-2px);

border-color: #c4dabc;

box-shadow: 0 10px 20px rgba(17,31,20,.07);

}



.rk-contact-pill > i {

display: inline-flex;

align-items: center;

justify-content: center;

width: 32px;

height: 32px;

color: var(--rk-green-dark);

background: var(--rk-green-soft);

border-radius: 50%;

}



.rk-contact-pill span {

display: flex;

flex-direction: column;

font-family: 'Open Sans', sans-serif;

font-weight: 700;

font-size: .82rem;

}



.rk-contact-pill small {

margin-bottom: 2px;

color: var(--rk-muted);

font-family: 'Montserrat', sans-serif;

font-size: 8px;

font-weight: 700;

letter-spacing: .12em;

text-transform: uppercase;

}



.rk-contact-pill-whatsapp > i {

color: #1da851;

background: #eaf8ee;

}



.rk-location-section {

background:

radial-gradient(circle at 15% 20%, rgba(103,177,74,.06), transparent 28%),

linear-gradient(180deg, #fbfcfb 0%, #fff 100%);

}



.rk-location-grid {

align-items: center;

}



.rk-location-copy {

max-width: 590px;

}



.rk-location-copy .rk-section-title {

margin-left: 0;

margin-right: 0;

}



.rk-location-copy .rk-section-lead {

margin-left: 0;

margin-right: 0;

max-width: 590px;

}



.rk-address-card,

.rk-hours-card {

display: flex;

align-items: flex-start;

gap: 17px;

padding: 21px 20px;

margin-top: 24px;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: 15px;

box-shadow: var(--rk-shadow-sm);

}



.rk-address-icon,

.rk-hours-icon {

display: inline-flex;

align-items: center;

justify-content: center;

width: 44px;

height: 44px;

flex: 0 0 44px;

color: var(--rk-green-dark);

background: var(--rk-green-soft);

border-radius: 12px;

font-size: 17px;

}



.rk-address-card strong,

.rk-hours-card strong {

display: block;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: .98rem;

line-height: 1.4;

}



.rk-address-card p,

.rk-hours-card p {

margin: 4px 0 0;

color: var(--rk-text);

font-size: .95rem;

line-height: 1.65;

}



.rk-primary-button {

display: inline-flex;

align-items: center;

gap: 9px;

margin-top: 25px;

padding: 13px 18px;

color: #fff !important;

background: var(--rk-green);

border: 1px solid var(--rk-green);

border-radius: 999px;

text-decoration: none !important;

font-family: 'Montserrat', sans-serif;

font-size: .79rem;

font-weight: 700;

letter-spacing: .03em;

box-shadow: 0 10px 22px rgba(103,177,74,.18);

transition: transform .22s var(--rk-ease), background .22s ease, box-shadow .22s ease;

}



.rk-primary-button:hover {

color: #fff !important;

background: var(--rk-green-dark);

border-color: var(--rk-green-dark);

transform: translateY(-2px);

box-shadow: 0 14px 28px rgba(78,147,56,.22);

}



.rk-map-card {

overflow: hidden;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: 20px;

box-shadow: var(--rk-shadow-md);

}



.rk-map-header {

display: flex;

align-items: center;

justify-content: space-between;

gap: 20px;

padding: 18px 20px;

border-bottom: 1px solid var(--rk-line);

}



.rk-map-header .rk-section-kicker {

margin-bottom: 5px;

}



.rk-map-header strong {

display: block;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1rem;

}



.rk-map-header > a {

display: inline-flex;

align-items: center;

justify-content: center;

width: 38px;

height: 38px;

flex: 0 0 38px;

color: var(--rk-green-dark) !important;

background: var(--rk-green-soft);

border-radius: 50%;

text-decoration: none !important;

transition: transform .2s ease, background .2s ease;

}



.rk-map-header > a:hover {

color: #fff !important;

background: var(--rk-green);

transform: translateY(-2px);

}



.rk-map-frame {

line-height: 0;

}



.rk-map-frame iframe {

display: block;

width: 100%;

min-height: 510px;

border: 0;

filter: saturate(.86);

}



.rk-help-section {

background: #fff;

}



.rk-help-grid {

margin-top: 45px;

}



.rk-help-item {

position: relative;

height: 100%;

min-height: 260px;

padding: 29px 25px 24px;

background: #fff;

border: 1px solid var(--rk-line);

border-radius: 16px;

box-shadow: var(--rk-shadow-sm);

transition: transform .25s var(--rk-ease), box-shadow .25s ease;

}



.rk-help-item:hover {

transform: translateY(-5px);

box-shadow: var(--rk-shadow-md);

}



.rk-help-number {

position: absolute;

top: 19px;

right: 21px;

color: #dcebd6;

font-family: 'Montserrat', sans-serif;

font-size: 2.1rem;

line-height: 1;

font-weight: 700;

}



.rk-help-item > i {

display: block;

margin-bottom: 19px;

color: var(--rk-green);

font-size: 24px;

}



.rk-help-item h3 {

margin: 0 0 12px;

color: var(--rk-ink);

font-family: 'Montserrat', sans-serif;

font-size: 1.2rem;

font-weight: 700;

}



.rk-help-item p {

margin: 0;

color: var(--rk-text);

font-size: .94rem;

line-height: 1.68;

}



.rk-contact-final {

padding: 92px 0 98px;

background:

radial-gradient(circle at 20% 20%, rgba(126,181,101,.18), transparent 27%),

radial-gradient(circle at 90% 90%, rgba(255,255,255,.08), transparent 26%),

linear-gradient(135deg, #132015 0%, #243a27 48%, #18261a 100%);

color: #fff;

}



.rk-contact-final .rk-section-kicker {

margin-bottom: 12px;

}



.rk-contact-final h2 {

max-width: 820px;

margin: 0 auto 18px;

color: #fff;

font-family: 'Montserrat', sans-serif;

font-size: clamp(2rem, 3.4vw, 3.45rem);

line-height: 1.08;

letter-spacing: -.035em;

font-weight: 700;

}



.rk-contact-final p {

max-width: 720px;

margin: 0 auto;

color: rgba(255,255,255,.78);

font-size: 1rem;

line-height: 1.78;

}



.rk-final-actions {

display: flex;

justify-content: center;

flex-wrap: wrap;

gap: 12px;

margin-top: 29px;

}



.rk-final-button {

display: inline-flex;

align-items: center;

justify-content: center;

gap: 9px;

min-width: 205px;

padding: 14px 20px;

border-radius: 999px;

text-decoration: none !important;

font-family: 'Montserrat', sans-serif;

font-size: .78rem;

font-weight: 700;

letter-spacing: .03em;

transition: transform .23s var(--rk-ease), background .23s ease, border-color .23s ease;

}



.rk-final-button:hover {

transform: translateY(-2px);

}



.rk-final-button-solid {

color: #183018 !important;

background: #fff;

border: 1px solid #fff;

}



.rk-final-button-solid:hover {

color: #183018 !important;

background: #ecf6e8;

border-color: #ecf6e8;

}



.rk-final-button-outline {

color: #fff !important;

background: rgba(255,255,255,.05);

border: 1px solid rgba(255,255,255,.35);

}



.rk-final-button-outline:hover {

color: #fff !important;

background: rgba(103,177,74,.95);

border-color: rgba(103,177,74,.95);

}



/* =========================================================

FLEXBOX LAYOUT FIX - Desktop spacing corrections

========================================================= /

.rk-contact-cards,

.rk-help-grid {

display: flex;

flex-wrap: wrap;

gap: 25px; / Sostituisce il margin-bottom manuale e gestisce la spaziatura uniforme */

}



.rk-contact-cards > [class*="column"],

.rk-help-grid > [class*="column"] {

flex: 1 1 0%; /* Forza la larghezza uguale per tutti gli elementi ignorando i contenuti /

width: auto !important; / Sovrascrive le classi fisse del framework base (es: width-3) /

min-width: 300px; / Assicura che le card vadano a capo automaticamente su tablet/mobile */

max-width: 100%;

margin-bottom: 0;

}



@media only screen and (max-width: 1024px) {

.rk-contact-quick-inner {

align-items: flex-start;

flex-direction: column;

}



.rk-contact-quick-actions {

    width: 100%;

    justify-content: flex-start;

}



.rk-map-frame iframe {

    min-height: 440px;

}



.rk-location-copy {

    max-width: none;

    margin-bottom: 28px;

}





}



@media only screen and (max-width: 768px) {

.rk-contact-section {

padding: 63px 0 72px;

}



.rk-contact-overview {

    padding-top: 60px;

}



.rk-section-title {

    font-size: clamp(1.9rem, 8vw, 2.7rem);

}



.rk-section-lead {

    font-size: .97rem;

    line-height: 1.72;

}



.rk-contact-card {

    min-height: 0;

    padding: 29px 25px 25px;

}



.rk-contact-quick {

    padding-left: 0;

    padding-right: 0;

}



.rk-contact-quick-inner {

    padding: 21px 18px;

    border-radius: 14px;

}



.rk-contact-quick-actions {

    flex-direction: column;

    align-items: stretch;

}



.rk-contact-pill {

    width: 100%;

}



.rk-location-copy .rk-section-title,

.rk-location-copy .rk-section-lead {

    margin-left: 0;

    margin-right: 0;

}



.rk-address-card,

.rk-hours-card {

    padding: 18px 16px;

}



.rk-map-frame iframe {

    min-height: 360px;

}



.rk-help-item {

    min-height: 0;

}



.rk-contact-final {

    padding: 67px 0 75px;

}



.rk-final-actions {

    flex-direction: column;

    align-items: stretch;

    padding: 0 20px;

}



.rk-final-button {

    width: 100%;

}





}



@media only screen and (max-width: 520px) {

.rk-hero-actions {

align-items: stretch;

flex-direction: column;

width: 100%;

max-width: 330px;

}



.rk-hero-cta {

    justify-content: center;

    width: 100%;

}



.rk-contact-card h3 {

    font-size: 1.2rem;

}



.rk-contact-pill {

    min-height: 56px;

}



.rk-address-card,

.rk-hours-card {

    gap: 12px;

}



.rk-map-card {

    border-radius: 15px;

}





}



/* =========================================================

   RETEKLIMA — AZIENDA / STORY TIMELINE

   Dedicated presentation layer for the company history page.

   ========================================================= */



.rk-history-hero .full-width-slider,

.rk-history-hero .tms-slide {

    min-height: 76vh;

}



.rk-history-hero-copy {

    max-width: 900px;

    padding: 82px 0 72px;

}



.rk-history-hero-title {

    max-width: 880px;

    margin: 20px 0 24px !important;

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(3.2rem, 6.1vw, 6.7rem);

    line-height: .94;

    letter-spacing: -.055em;

    font-weight: 700;

}



.rk-history-hero-subtitle {

    max-width: 720px;

    font-size: clamp(1.02rem, 1.45vw, 1.28rem);

    line-height: 1.75;

}



.rk-history-hero-cta {

    margin-top: 4px;

}



.rk-history-hero-scroll {

    position: absolute;

    z-index: 5;

    left: 50%;

    bottom: 30px;

    display: flex;

    align-items: center;

    gap: 12px;

    color: rgba(255,255,255,.76);

    transform: translateX(-50%);

    font-family: 'Montserrat', sans-serif;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .19em;

    text-transform: uppercase;

}



.rk-history-hero-scroll-line {

    width: 55px;

    height: 1px;

    background: rgba(255,255,255,.55);

    position: relative;

    overflow: hidden;

}



.rk-history-hero-scroll-line::after {

    content: '';

    position: absolute;

    inset: 0 auto 0 -100%;

    width: 55%;

    background: #ffffff;

    animation: rkScrollCue 2.1s ease-in-out infinite;

}



@keyframes rkScrollCue {

    0% { left: -60%; }

    55%, 100% { left: 100%; }

}



.rk-history-intro {

    padding: 108px 0 94px;

    background:

        radial-gradient(circle at 10% 15%, rgba(103,177,74,.07), transparent 31%),

        linear-gradient(180deg, #ffffff 0%, #fbfcfb 100%);

}



.rk-intro-grid {

    display: grid;

    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);

    gap: 70px;

    align-items: end;

}



.rk-intro-copy h2,

.rk-history-head h2,

.rk-section-heading h2,

.rk-finale-content h2 {

    margin: 17px 0 20px;

    color: var(--rk-ink);

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(2.1rem, 3.8vw, 4.05rem);

    line-height: 1.03;

    letter-spacing: -.045em;

    font-weight: 700;

}



.rk-intro-copy h2 { max-width: 700px; }



.rk-intro-copy .rk-lead {

    max-width: 785px;

}



.rk-intro-stat-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;

}



.rk-intro-stat {

    min-height: 138px;

    padding: 24px 22px 20px;

    border: 1px solid var(--rk-line);

    border-radius: 17px;

    background: rgba(255,255,255,.88);

    box-shadow: var(--rk-shadow-sm);

}



.rk-intro-stat-wide { grid-column: 1 / -1; min-height: 112px; }



.rk-intro-stat-number {

    display: block;

    margin-bottom: 9px;

    color: var(--rk-green-dark);

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(1.7rem, 2.8vw, 2.6rem);

    line-height: 1;

    letter-spacing: -.04em;

    font-weight: 700;

}



.rk-intro-stat-label {

    display: block;

    max-width: 260px;

    color: var(--rk-muted);

    font-size: 12px;

    line-height: 1.55;

}



.rk-history-section {

    position: relative;

    padding: 105px 0 120px;

    background: #f5f7f5;

}



.rk-history-head {

    display: grid;

    grid-template-columns: 1.1fr .7fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 76px;

}



.rk-history-head > p {

    margin: 0;

    color: #687169;

    font-size: 1.02rem;

    line-height: 1.8;

}



.rk-history-timeline {

    position: relative;

    padding: 20px 0 32px;

}



.rk-history-track {

    position: absolute;

    z-index: 0;

    top: 0;

    bottom: 0;

    left: 50%;

    width: 2px;

    background: linear-gradient(180deg, #d9e4da 0%, #dce8dd 100%);

    transform: translateX(-50%);

}



.rk-history-track-fill {

    display: block;

    width: 100%;

    height: 0;

    background: linear-gradient(180deg, var(--rk-green), #3d8a31);

    box-shadow: 0 0 15px rgba(103,177,74,.22);

    transition: height .08s linear;

}



.rk-history-item {

    position: relative;

    display: grid;

    grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr);

    column-gap: 26px;

    align-items: center;

    min-height: 470px;

    margin: 0 0 24px;

    scroll-margin-top: 110px;

}



.rk-history-item:last-child { margin-bottom: 0; }



.rk-history-content,

.rk-history-media { position: relative; z-index: 2; }



.rk-history-item.is-left .rk-history-content { grid-column: 1; grid-row: 1; }

.rk-history-item.is-left .rk-history-marker { grid-column: 2; grid-row: 1; }

.rk-history-item.is-left .rk-history-media { grid-column: 3; grid-row: 1; }



.rk-history-item.is-right .rk-history-content { grid-column: 3; grid-row: 1; }

.rk-history-item.is-right .rk-history-marker { grid-column: 2; grid-row: 1; }

.rk-history-item.is-right .rk-history-media { grid-column: 1; grid-row: 1; }



.rk-history-content {

    padding: 10px 26px;

}



.rk-history-item.is-left .rk-history-content { text-align: right; }

.rk-history-item.is-right .rk-history-content { text-align: left; }



.rk-history-year {

    color: var(--rk-green-dark);

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(2.2rem, 4vw, 3.7rem);

    line-height: .95;

    letter-spacing: -.06em;

    font-weight: 700;

}



.rk-history-kicker {

    margin-top: 12px;

    color: var(--rk-muted);

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .16em;

    text-transform: uppercase;

}



.rk-history-content h3 {

    margin: 12px 0 14px;

    color: var(--rk-ink);

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(1.55rem, 2.2vw, 2.25rem);

    line-height: 1.1;

    letter-spacing: -.035em;

    font-weight: 700;

}



.rk-history-content p {

    margin: 0;

    color: #606a62;

    font-size: .98rem;

    line-height: 1.78;

}



.rk-history-content strong { color: #39443d; }



.rk-history-marker {

    position: relative;

    z-index: 3;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 62px;

    height: 62px;

    margin: 0 auto;

    border: 1px solid #cfe0ca;

    border-radius: 50%;

    background: #ffffff;

    box-shadow: 0 0 0 10px #f5f7f5, 0 10px 25px rgba(31,56,36,.08);

    color: var(--rk-green-dark);

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    transition: transform .35s var(--rk-ease), background .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease;

}



.rk-history-item.is-active .rk-history-marker {

    color: #ffffff;

    background: var(--rk-green);

    border-color: var(--rk-green);

    transform: scale(1.06);

    box-shadow: 0 0 0 10px #f5f7f5, 0 10px 30px rgba(103,177,74,.22);

}



.rk-history-marker-final {

    border-color: #b8d3b0;

}



.rk-history-points,

.rk-history-tags,

.rk-history-pill-row,

.rk-today-services {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 21px;

}



.rk-history-item.is-left .rk-history-points,

.rk-history-item.is-left .rk-history-tags,

.rk-history-item.is-left .rk-history-pill-row,

.rk-history-item.is-left .rk-today-services { justify-content: flex-end; }



.rk-history-points span,

.rk-history-tags span,

.rk-history-pill-row span,

.rk-today-services span {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 8px 10px;

    border: 1px solid #dbe5dc;

    border-radius: 999px;

    background: rgba(255,255,255,.78);

    color: #68736b;

    font-size: 10px;

    font-weight: 600;

}



.rk-history-points i,

.rk-history-pill-row i { color: var(--rk-green); }



.rk-history-quote {

    margin-top: 22px;

    padding-top: 18px;

    border-top: 1px solid #dfe7e0;

}



.rk-history-item.is-left .rk-history-quote { text-align: right; }

.rk-history-item.is-right .rk-history-quote { text-align: left; }



.rk-history-quote span,

.rk-small-title {

    display: block;

    margin-bottom: 9px;

    color: var(--rk-muted);

    font-family: 'Montserrat', sans-serif;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .16em;

    text-transform: uppercase;

}



.rk-history-quote strong {

    color: var(--rk-green-dark);

    font-family: 'Montserrat', sans-serif;

    font-size: 1.02rem;

    font-weight: 700;

}



.rk-history-callout {

    display: grid;

    grid-template-columns: 46px 1fr;

    gap: 13px;

    align-items: center;

    margin-top: 22px;

    padding: 15px 16px;

    text-align: left;

    border-radius: 14px;

    background: #ffffff;

    border: 1px solid #dfe8df;

    box-shadow: var(--rk-shadow-sm);

}



.rk-history-item.is-left .rk-history-callout { text-align: left; }



.rk-history-callout > i {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 46px;

    height: 46px;

    color: var(--rk-green-dark);

    background: var(--rk-green-soft);

    border-radius: 12px;

    font-size: 17px;

}



.rk-history-callout strong,

.rk-history-callout span { display: block; }

.rk-history-callout strong { margin-bottom: 3px; font-family: 'Montserrat', sans-serif; font-size: .88rem; }

.rk-history-callout span { color: #737d75; font-size: 11px; line-height: 1.55; }



.rk-number-highlight {

    display: inline-flex;

    align-items: baseline;

    gap: 10px;

    margin-top: 22px;

    padding: 10px 0 0;

    border-top: 1px solid #dfe7e0;

}



.rk-number-highlight strong {

    color: var(--rk-green-dark);

    font-family: 'Montserrat', sans-serif;

    font-size: 2.05rem;

    line-height: 1;

}



.rk-number-highlight span { color: #747e76; font-size: 11px; }



.rk-history-item.is-left .rk-number-highlight { float: right; }



.rk-expo-list-box {

    margin-top: 22px;

    padding: 17px;

    text-align: left;

    background: #ffffff;

    border: 1px solid #dfe7e0;

    border-radius: 15px;

}



.rk-expo-list {

    display: grid;

    grid-template-columns: repeat(2, minmax(0,1fr));

    gap: 8px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.rk-expo-list li {

    display: grid;

    grid-template-columns: 25px 1fr;

    gap: 7px;

    align-items: center;

    padding: 9px 10px;

    border-radius: 9px;

    background: #f7faf7;

    border: 1px solid #ebf0eb;

}



.rk-expo-list li span { color: var(--rk-green); font-size: 9px; font-weight: 700; }

.rk-expo-list li strong { color: #566159; font-family: 'Montserrat', sans-serif; font-size: 10px; }



.rk-image-viewer {

    position: relative;

    overflow: hidden;

    border-radius: 21px;

    background: #142017;

    box-shadow: var(--rk-shadow-lg);

    transform: translateZ(0);

}



.rk-viewer-viewport {

    position: relative;

    min-height: 455px;

}



.rk-viewer-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transform: scale(1.035);

    transition: opacity .8s ease, transform 1.15s var(--rk-ease);

    pointer-events: none;

}



.rk-viewer-slide.is-active {

    position: relative;

    opacity: 1;

    transform: scale(1);

    pointer-events: auto;

}



.rk-photo-placeholder {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-height: 455px;

    padding: 30px;

    text-align: center;

    background:

        radial-gradient(circle at 30% 25%, rgba(103,177,74,.18), transparent 27%),

        linear-gradient(145deg, #edf4ed 0%, #dce7de 100%);

    color: #526057;

}



.rk-photo-placeholder-dark {

    background:

        radial-gradient(circle at 30% 25%, rgba(103,177,74,.22), transparent 30%),

        linear-gradient(145deg, #19251c 0%, #0e160f 100%);

    color: rgba(255,255,255,.86);

}



.rk-photo-placeholder i {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 66px;

    height: 66px;

    margin-bottom: 20px;

    border-radius: 50%;

    color: var(--rk-green-dark);

    background: rgba(255,255,255,.78);

    font-size: 22px;

    box-shadow: 0 12px 30px rgba(10,25,12,.10);

}



.rk-photo-placeholder-dark i { color: #b8ddad; background: rgba(255,255,255,.08); }

.rk-photo-placeholder strong { margin-bottom: 8px; font-family: 'Montserrat', sans-serif; font-size: 16px; }

.rk-photo-placeholder span { max-width: 250px; color: rgba(79,92,83,.72); font-size: 11px; line-height: 1.6; }

.rk-photo-placeholder-dark span { color: rgba(255,255,255,.56); }



.rk-viewer-bottom {

    position: absolute;

    z-index: 4;

    right: 0;

    bottom: 0;

    left: 0;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

    padding: 14px 16px;

    background: linear-gradient(180deg, transparent, rgba(4,9,6,.86));

    color: rgba(255,255,255,.72);

    font-family: 'Montserrat', sans-serif;

    font-size: 9px;

    letter-spacing: .08em;

    text-transform: uppercase;

}



.rk-viewer-dots {

    display: flex;

    gap: 7px;

}



.rk-viewer-dots button {

    width: 7px;

    height: 7px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: rgba(255,255,255,.38);

    cursor: pointer;

    transition: transform .2s ease, background .2s ease;

}



.rk-viewer-dots button:hover,

.rk-viewer-dots button.is-active {

    background: #ffffff;

    transform: scale(1.35);

}



.rk-capabilities-section {

    padding: 112px 0 105px;

    background: #ffffff;

}



.rk-section-heading {

    margin-bottom: 42px;

}



.rk-section-heading.centered { text-align: center; }

.rk-section-heading.centered .rk-lead { margin-right: auto; margin-left: auto; }



.rk-capability-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0,1fr));

    gap: 15px;

}



.rk-capability-card {

    display: grid;

    grid-template-columns: 58px 1fr;

    gap: 18px;

    padding: 25px;

    border: 1px solid var(--rk-line);

    border-radius: 18px;

    background: #ffffff;

    box-shadow: 0 5px 20px rgba(17,31,20,.035);

    transition: transform .3s var(--rk-ease), box-shadow .3s var(--rk-ease), border-color .3s ease;

}



.rk-capability-card:hover {

    transform: translateY(-5px);

    border-color: #d7e5d3;

    box-shadow: var(--rk-shadow-md);

}



.rk-capability-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 58px;

    height: 58px;

    border-radius: 15px;

    background: var(--rk-green-soft);

    color: var(--rk-green-dark);

    font-size: 19px;

}



.rk-capability-body h3 {

    margin: 0 0 8px;

    color: var(--rk-ink);

    font-family: 'Montserrat', sans-serif;

    font-size: 1.02rem;

    line-height: 1.35;

}



.rk-capability-body p {

    margin: 0;

    color: #69736b;

    font-size: .92rem;

    line-height: 1.7;

}



.rk-press-panel {

    display: grid;

    grid-template-columns: 1.2fr .8fr;

    gap: 30px;

    align-items: center;

    margin-top: 16px;

    padding: 30px;

    border-radius: 20px;

    background: linear-gradient(135deg, #142017 0%, #1d2c21 100%);

    color: #ffffff;

    box-shadow: var(--rk-shadow-md);

}



.rk-press-panel .rk-small-title { color: #a8d29b; }

.rk-press-copy h3 { margin: 0 0 12px; color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: 1.55rem; line-height: 1.15; letter-spacing: -.02em; }

.rk-press-copy p { margin: 0; color: rgba(255,255,255,.71); font-size: .92rem; line-height: 1.72; }

.rk-press-visual { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }

.rk-press-stat { padding: 17px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.04); text-align: center; }

.rk-press-stat strong { display: block; color: #c3e5b9; font-family: 'Montserrat', sans-serif; font-size: 1.3rem; }

.rk-press-stat span { display: block; margin-top: 5px; color: rgba(255,255,255,.55); font-size: 9px; line-height: 1.4; }



.rk-certifications-section {

    padding: 102px 0 105px;

    background: #f5f7f5;

    border-top: 1px solid #e8ede9;

}



.rk-certification-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0,1fr));

    gap: 14px;

}



.rk-certification-card {

    min-height: 235px;

    padding: 25px;

    border: 1px solid #dde6df;

    border-radius: 18px;

    background: #ffffff;

    box-shadow: var(--rk-shadow-sm);

    transition: transform .28s var(--rk-ease), box-shadow .28s var(--rk-ease);

}



.rk-certification-card:hover { transform: translateY(-5px); box-shadow: var(--rk-shadow-md); }



.rk-certification-logo {

    min-height: 75px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 16px;

}



.rk-certification-logo img {

    display: block;

    max-width: 72%;

    max-height: 68px;

    object-fit: contain;

}



.rk-certification-card h3 { margin: 0 0 8px; color: var(--rk-ink); font-family: 'Montserrat', sans-serif; font-size: 1rem; line-height: 1.25; }

.rk-certification-card p { margin: 0; color: #717a73; font-size: .88rem; line-height: 1.65; }



.rk-history-finale {

    position: relative;

    overflow: hidden;

    padding: 120px 0 125px;

    background:

        radial-gradient(circle at 18% 20%, rgba(103,177,74,.28), transparent 27%),

        radial-gradient(circle at 82% 78%, rgba(103,177,74,.13), transparent 28%),

        #101811;

}



.rk-history-finale::before,

.rk-history-finale::after {

    content: '';

    position: absolute;

    width: 260px;

    height: 260px;

    border-radius: 50%;

    border: 1px solid rgba(186,228,170,.10);

}



.rk-history-finale::before { top: -110px; left: -110px; }

.rk-history-finale::after { right: -110px; bottom: -120px; }



.rk-finale-content { position: relative; z-index: 2; }

.rk-finale-content h2 { color: #ffffff; margin-top: 18px; }

.rk-finale-content p { max-width: 720px; margin: 0 auto; color: rgba(255,255,255,.70); font-size: 1rem; line-height: 1.8; }



.rk-finale-cta {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 29px;

    padding: 13px 18px;

    color: #ffffff !important;

    border: 1px solid rgba(255,255,255,.19);

    border-radius: 999px;

    background: rgba(255,255,255,.06);

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;

    text-decoration: none !important;

    transition: transform .25s var(--rk-ease), background .25s ease, border-color .25s ease;

}



.rk-finale-cta:hover { transform: translateY(-2px); background: var(--rk-green); border-color: var(--rk-green); }



/* Scroll reveal: JS adds the class only when motion is available. */

.rk-history-js .rk-reveal {

    opacity: 0;

    transform: translateY(28px);

    transition: opacity .8s ease, transform .9s var(--rk-ease);

}



.rk-history-js .rk-reveal.is-visible {

    opacity: 1;

    transform: translateY(0);

}



.rk-history-js .rk-history-item:nth-child(2) { transition-delay: .04s; }

.rk-history-js .rk-history-item:nth-child(3) { transition-delay: .08s; }

.rk-history-js .rk-history-item:nth-child(4) { transition-delay: .12s; }

.rk-history-js .rk-history-item:nth-child(5) { transition-delay: .16s; }

.rk-history-js .rk-history-item:nth-child(6) { transition-delay: .20s; }

.rk-history-js .rk-history-item:nth-child(7) { transition-delay: .24s; }

.rk-history-js .rk-history-item:nth-child(8) { transition-delay: .28s; }



@media only screen and (max-width: 960px) {

    .rk-intro-grid,

    .rk-history-head,

    .rk-press-panel { grid-template-columns: 1fr; gap: 35px; }



    .rk-intro-stat-grid { max-width: 650px; }



    .rk-history-item {

        grid-template-columns: 54px minmax(0,1fr);

        column-gap: 18px;

        min-height: 0;

        padding: 20px 0 45px;

    }



    .rk-history-track {

        left: 26px;

        transform: none;

    }



    .rk-history-item.is-left .rk-history-content,

    .rk-history-item.is-right .rk-history-content,

    .rk-history-item.is-left .rk-history-marker,

    .rk-history-item.is-right .rk-history-marker,

    .rk-history-item.is-left .rk-history-media,

    .rk-history-item.is-right .rk-history-media {

        grid-column: 2;

        grid-row: auto;

    }



    .rk-history-item .rk-history-marker { grid-column: 1 !important; grid-row: 1 !important; margin: 2px 0 0; }

    .rk-history-item .rk-history-content { grid-column: 2 !important; grid-row: 1 !important; padding: 0 0 23px; text-align: left !important; }

    .rk-history-item .rk-history-media { grid-column: 2 !important; grid-row: 2 !important; }

    .rk-history-item.is-left .rk-history-points,

    .rk-history-item.is-left .rk-history-tags,

    .rk-history-item.is-left .rk-history-pill-row,

    .rk-history-item.is-left .rk-today-services { justify-content: flex-start; }

    .rk-history-item.is-left .rk-history-quote { text-align: left; }

    .rk-history-item.is-left .rk-number-highlight { float: none; }

    .rk-history-item .rk-expo-list { grid-template-columns: 1fr 1fr; }

    .rk-history-item .rk-history-callout { max-width: none; }



    .rk-viewer-viewport,

    .rk-photo-placeholder { min-height: 390px; }

}



@media only screen and (max-width: 768px) {

    .rk-history-hero .full-width-slider,

    .rk-history-hero .tms-slide { min-height: 78vh; }



    .rk-history-hero-copy { padding: 48px 0 70px; }

    .rk-history-hero-title { font-size: clamp(2.7rem, 11vw, 4.7rem); }

    .rk-history-hero-scroll { bottom: 22px; }



    .rk-history-intro,

    .rk-history-section,

    .rk-capabilities-section,

    .rk-certifications-section,

    .rk-history-finale { padding-top: 78px; padding-bottom: 82px; }



    .rk-intro-stat-grid { grid-template-columns: 1fr 1fr; }

    .rk-intro-stat-wide { grid-column: 1 / -1; }

    .rk-history-head { margin-bottom: 45px; }

    .rk-history-item { grid-template-columns: 46px minmax(0,1fr); column-gap: 14px; }

    .rk-history-track { left: 22px; }

    .rk-history-marker { width: 46px; height: 46px; font-size: 10px; box-shadow: 0 0 0 7px #f5f7f5, 0 8px 22px rgba(31,56,36,.07); }

    .rk-history-item.is-active .rk-history-marker { box-shadow: 0 0 0 7px #f5f7f5, 0 8px 24px rgba(103,177,74,.18); }

    .rk-history-content h3 { font-size: 1.55rem; }

    .rk-history-content p { font-size: .93rem; }

    .rk-history-year { font-size: 2.45rem; }

    .rk-viewer-viewport,

    .rk-photo-placeholder { min-height: 330px; }

    .rk-capability-grid,

    .rk-certification-grid { grid-template-columns: 1fr; }

    .rk-capability-card { padding: 20px; }

    .rk-press-panel { padding: 23px; }

    .rk-press-visual { grid-template-columns: repeat(3, minmax(0,1fr)); }

}



@media only screen and (max-width: 520px) {

    .rk-intro-stat-grid { grid-template-columns: 1fr; }

    .rk-intro-stat-wide { grid-column: auto; }

    .rk-expo-list { grid-template-columns: 1fr !important; }

    .rk-viewer-bottom { padding: 12px 13px; }

    .rk-photo-placeholder { padding: 22px; }

    .rk-photo-placeholder i { width: 56px; height: 56px; margin-bottom: 16px; font-size: 18px; }

    .rk-photo-placeholder strong { font-size: 14px; }

    .rk-finale-content h2 { font-size: 2.3rem; }

}



@media (prefers-reduced-motion: reduce) {

    html { scroll-behavior: auto; }

    .rk-history-hero-scroll-line::after { animation: none; }

    .rk-history-js .rk-reveal,

    .rk-history-js .rk-reveal.is-visible,

    .rk-history-item.is-active .rk-history-marker,

    .rk-viewer-slide { transition: none !important; }
    
    
    /* Stile pulsante pagina sede */
.rk-btn-sede {
    display: inline-flex;
    align-items: center;
    padding: 12px 26px;
    background-color: transparent;
    border: 2px solid #67b14a;
    color: #67b14a;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.rk-btn-sede i {
    margin-left: 12px;
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.rk-btn-sede:hover {
    background-color: #67b14a;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(103, 177, 74, 0.3);
}

.rk-btn-sede:hover i {
    transform: translateX(4px);
}

}