/* ==========================================================
 BLOCKS.CSS
========================================================== */


/* ==========================================================
 1. HERO - .art-hero
========================================================== */
.art-hero {
 position: relative;
 display: flex;
 align-items: center;
 min-height: 700px;
 background-color: var(--accent-2);
 overflow: hidden;
 contain: layout style;
}

.art-hero__bg {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 z-index: 0;
 pointer-events: none;
}

.art-hero__overlay {
 position: absolute;
 inset: 0;
 background: linear-gradient(135deg, rgba(2,42,104,0.92) 0%, rgba(1,21,64,0.58) 60%, rgba(0,0,0,0.1) 100%);
 z-index: 1;
}

.art-hero__particles { position: absolute; inset: 0; z-index: 1; pointer-events: none; }

.art-particle {
 position: absolute;
 width: 6px;
 height: 6px;
 background: var(--accent);
 border-radius: 50%;
 opacity: 0;
 animation: artParticleFloat 2s infinite;
}
.art-particle:nth-child(1) { left:10%; top:20%; animation-delay:0s; animation-duration:7s; }
.art-particle:nth-child(2) { left:20%; top:80%; animation-delay:1s; animation-duration:9s; width:6px; height:6px; }
.art-particle:nth-child(3) { left:35%; top:40%; animation-delay:2s; animation-duration:6s; }
.art-particle:nth-child(4) { left:50%; top:15%; animation-delay:0.5s; animation-duration:8s; width:3px; height:3px; }
.art-particle:nth-child(5) { left:65%; top:65%; animation-delay:1.5s; animation-duration:7s; }
.art-particle:nth-child(6) { left:75%; top:30%; animation-delay:3s; animation-duration:9s; width:5px; height:5px; }
.art-particle:nth-child(7) { left:85%; top:75%; animation-delay:0.8s; animation-duration:6s; }
.art-particle:nth-child(8) { left:92%; top:50%; animation-delay:2.5s; animation-duration:8s; width:3px; height:3px; }
.art-particle:nth-child(9) { left:5%; top:55%; animation-delay:1.2s; animation-duration:7s; }
.art-particle:nth-child(10) { left:45%; top:85%; animation-delay:0.3s; animation-duration:9s; width:6px; height:6px; }
.art-particle:nth-child(11) { left:30%; top:60%; animation-delay:4s; animation-duration:8s; width:2px; height:2px; }
.art-particle:nth-child(12) { left:55%; top:45%; animation-delay:3.5s; animation-duration:6s; width:2px; height:2px; }
.art-particle:nth-child(13) { left:70%; top:20%; animation-delay:2.2s; animation-duration:9s; width:2px; height:2px; }
.art-particle:nth-child(14) { left:15%; top:35%; animation-delay:1.8s; animation-duration:7s; width:2px; height:2px; }
.art-particle:nth-child(15) { left:80%; top:90%; animation-delay:0.6s; animation-duration:8s; width:2px; height:2px; }

.art-hero__inner { position: relative; z-index: 2; width: 100%; }
.art-hero__content { max-width: 860px; }

.art-hero__para {
 font-size: 18px;
 color: rgba(255, 255, 255, 0.85);
 max-width: 580px;
 margin-bottom: 40px;
 line-height: 1.8;
}

.art-hero__highlight { color: var(--accent); }

.art-hero__btns {
 display: flex;
 flex-wrap: wrap;
 gap: 16px;
 align-items: center;
}

.art-hero__scroll {
 position: absolute;
 bottom: 90px;
 right: 40px;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 8px;
 z-index: 2;
}
.art-hero__scroll-line {
 width: 2px;
 height: 60px;
 background: linear-gradient(to bottom, var(--accent), transparent);
 animation: artScrollLine 2s infinite;
}
.art-hero__scroll-text {
 font-family: 'Montserrat', sans-serif;
 writing-mode: vertical-rl;
 font-size: 11px;
 letter-spacing: 3px;
 color: rgba(255,255,255,0.5);
 text-transform: uppercase;
}

.art-hero__wave { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 2; line-height: 0; }
.art-hero__wave svg { width: 100%; height: 80px; display: block; }


/* ==========================================================
 2. COMPETENCIES - .art-comp
========================================================== */
.art-comp { background: var(--bg); }

.art-comp__inner {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 60px;
 align-items: center;
}

.art-comp__heading {
 font-family: 'Montserrat', sans-serif;
 font-size: 36px; /* style.css h2 = 36px */
 color: var(--accent-2);
 line-height: 1.25;
 margin: 12px 0 36px;
}

.art-comp__service { margin-bottom: 36px; }
.art-comp__service-title {
 font-family: 'Montserrat', sans-serif;
 font-size: 18px; /* style.css h5 = 18px */
 color: var(--black);
 margin-bottom: 10px;
 position: relative;
 padding-left: 14px;
}
.art-comp__service-title::before {
 content: '';
 position: absolute;
 left: 0;
 top: 50%;
 transform: translateY(-50%);
 width: 4px;
 height: 70%;
 background: var(--accent);
 border-radius: 2px;
}
.art-comp__service-desc {
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 color: var(--text);
 line-height: 1.75;
 margin-bottom: 14px;
}

.art-comp__img-dark-card .art-comp__service-desc{
     color: var(--white);
}

.art-comp__points {
 list-style: none;
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 8px 16px;
 padding: 0;
 margin: 0;
}
.art-comp__points li {
 display: flex;
 align-items: center;
 gap: 8px;
 font-family: 'Lato', sans-serif;
 font-size: 14px;
 color: var(--text);
 font-weight: 500;
}
.art-comp__points li i { color: var(--accent); font-size: 14px; flex-shrink: 0; }

/* Right image grid */
.art-comp__right {
 display: grid;
 grid-template-columns: 1fr 1fr;
 grid-template-rows: 1fr 1fr;
 gap: 12px;
 height: 520px;
}

.art-comp__img-large {
 grid-column: 1;
 grid-row: 1 / 3;
 position: relative;
 border-radius: 12px;
 overflow: hidden;
 height: 100%;
}
.art-comp__img-large img,
.art-comp__img-large .art-comp__img-placeholder {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.5s ease;
 border-radius: 12px;
}
.art-comp__img-large:hover img { transform: scale(1.04); }

.art-comp__img-label {
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 padding: 14px 16px;
 background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
 color: var(--white);
 font-family: 'Lato', sans-serif;
 font-size: 14px;
 font-weight: 600;
 z-index: 2;
}

.art-comp__img-sm {
 position: relative;
 border-radius: 12px;
 overflow: hidden;
 height: 100%;
}
.art-comp__img-sm img,
.art-comp__img-sm .art-comp__img-placeholder {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.5s ease;
 border-radius: 12px;
}
.art-comp__img-sm:hover img { transform: scale(1.04); }

.art-comp__img-dark-card {
 background: var(--accent-2);
 border-radius: 12px;
 padding: 24px 20px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 height: 100%;
 box-sizing: border-box;
 transition: background 0.3s ease;
}
.art-comp__img-dark-card:hover { background: #033080; }
.art-comp__img-dark-card h5 {
 font-family: 'Montserrat', sans-serif;
 font-size: 18px; /* style.css h5 = 18px */
 color: var(--white);
 margin-bottom: 10px;
 line-height: 1.3;
}
.art-comp__img-dark-card p {
 font-family: 'Lato', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 color: rgba(255,255,255,0.75);
 line-height: 1.7;
 margin: 0;
}

.art-comp__img-placeholder {
 background: var(--card-bg);
 border-radius: 12px;
 width: 100%;
 height: 100%;
 min-height: 160px;
}


/* ==========================================================
 3. SERVICES - .art-services
========================================================== */
.art-services { background: var(--white); }

.art-services__header {
 margin-bottom: 48px;
 position: relative;
}
.art-services__heading {
 font-family: 'Montserrat', sans-serif;
 font-size: 36px; /* style.css h2 = 36px */
 color: var(--accent-2);
 line-height: 1.2;
 max-width: 600px;
 margin: 12px 0 0;
}
.art-services__deco {
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
 width: 80px;
 height: 3px;
 background: var(--accent);
 border-radius: 2px;
}

.art-services__grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 16px;
}

.art-services__card {
 position: relative;
 border-radius: 14px;
 overflow: hidden;
 min-height: 300px;
 display: block;
 text-decoration: none;
 background: var(--black);
 cursor: pointer;
 box-shadow: 0 4px 24px rgba(0,0,0,0.10);
 transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.art-services__card:hover {
 transform: translateY(-6px);
 box-shadow: 0 16px 48px rgba(0,0,0,0.28);
}

.art-services__card-img {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
 filter: brightness(0.85);
}
.art-services__card:hover .art-services__card-img {
 transform: scale(1.08);
 filter: brightness(0.7);
}

.art-services__card-placeholder {
 position: absolute;
 inset: 0;
 background: linear-gradient(145deg, var(--black) 0%, #1a1a1a 60%, #0d0d0d 100%);
}

.art-services__card-overlay {
 position: absolute;
 inset: 0;
 z-index: 1;
 background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 35%, rgba(0,0,0,0.10) 65%, transparent 100%);
 transition: background 0.4s ease;
}
.art-services__card:hover .art-services__card-overlay {
 background: linear-gradient(to top, rgba(0,0,0,0.97) 0%, rgba(0,0,0,0.70) 40%, rgba(0,0,0,0.25) 70%, transparent 100%);
}

.art-services__card-content {
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 padding: 22px 20px;
 z-index: 2;
 transition: transform 0.35s ease;
}
.art-services__card:hover .art-services__card-content { transform: translateY(-4px); }

.art-services__card-content::before {
 content: '';
 display: block;
 width: 32px;
 height: 3px;
 background: var(--accent);
 border-radius: 2px;
 margin-bottom: 10px;
 transition: width 0.35s ease;
}
.art-services__card:hover .art-services__card-content::before { width: 52px; }

.art-services__card-title {
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 font-weight: 700;
 color: var(--white);
 line-height: 1.4;
 margin: 0 0 10px;
 text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

.art-services__card-link {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 font-family: 'Montserrat', sans-serif;
 color: var(--accent);
 font-size: 12px;
 letter-spacing: 0.5px;
 text-transform: uppercase;
 opacity: 0;
 transform: translateY(8px);
 transition: opacity 0.3s ease 0.05s, transform 0.3s ease 0.05s;
}
.art-services__card:hover .art-services__card-link { opacity: 1; transform: translateY(0); }
.art-services__card-link i { font-size: 10px; transition: transform 0.3s ease; }
.art-services__card:hover .art-services__card-link i { transform: translateX(4px); }


/* ==========================================================
 4. BUSINESS UNITS - .art-biz
========================================================== */
.art-biz {
 background: var(--accent-2);
 position: relative;
 overflow: hidden;
}
.art-biz::before {
 content: '';
 position: absolute;
 inset: 0;
 background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
 background-size: 32px 32px;
 pointer-events: none;
}

.art-biz__header { text-align: center; margin-bottom: 52px; position: relative; z-index: 1; }
.art-biz__heading {
 font-family: 'Montserrat', sans-serif;
 font-size: 36px; /* style.css h2 = 36px */
 color: var(--white);
 line-height: 1.2;
 margin: 12px 0 0;
}
.art-biz__paragraph{
    color: var(--white);
}

.art-biz__grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 20px;
 position: relative;
 z-index: 1;
}

.art-biz__card {
 background: rgba(255,255,255,0.06);
 border: 1px solid rgba(255,255,255,0.1);
 border-radius: 12px;
 padding: 28px 24px;
 transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.art-biz__card:hover {
 background: rgba(255,255,255,0.11);
 border-color: rgba(255,189,43,0.35);
 transform: translateY(-4px);
}
.art-biz__card-title {
 font-family: 'Montserrat', sans-serif;
 font-size: 18px; /* style.css h5 = 18px */
 color: var(--white);
 margin-bottom: 12px;
 line-height: 1.3;
 transition: color 0.3s ease;
}
.art-biz__card:hover .art-biz__card-title { color: var(--accent); }
.art-biz__card-desc {
 font-family: 'Lato', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 color: rgba(255,255,255,0.65);
 line-height: 1.75;
 margin: 0;
}


/* ==========================================================
 5. PRICE CALCULATOR - .art-calc
========================================================== */
.art-calc {
 background: var(--white);
 padding: 0 0 80px;
 position: relative;
 overflow: hidden;
}
.art-calc::before {
 content: '';
 position: absolute;
 inset: 0;
 background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
 background-size: 28px 28px;
 pointer-events: none;
}

.art-calc__header {
 text-align: center;
 padding: 64px 20px 52px;
 position: relative;
 z-index: 1;
 background: var(--accent-2);
 border-radius: 20px 20px 0px 0px;
}
.art-calc__heading {
 font-family: 'Montserrat', sans-serif;
 font-size: 36px; /* style.css h2 = 36px */
 color: var(--white);
 line-height: 1.2;
 margin: 12px 0 10px;
}
.art-calc__subheading {
 font-family: 'Lato', sans-serif;
 font-size: 16px; /* style.css body = 16px */
 color: var(--white);
 max-width: 560px;
 margin: 0 auto;
 line-height: 1.7;
}

.art-calc__card {
 background: var(--white);
 border-radius: 0px 0px 20px 20px;
 overflow: hidden;
 box-shadow: 0 8px 64px rgba(0,0,0,0.22);
 border: 1px solid rgba(255,255,255,0.08);
 position: relative;
 z-index: 2;
}

.art-calc__grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
}
.art-calc__col { padding: 40px 44px; }
.art-calc__col:first-child { border-right: 1px solid #edf0f5; }

.art-calc__col-title {
 display: flex;
 align-items: center;
 gap: 12px;
 font-family: 'Montserrat', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 font-weight: 700;
 color: var(--accent-2);
 margin-bottom: 28px;
 padding-bottom: 16px;
 border-bottom: 2px solid var(--accent-2);
 text-transform: uppercase;
 letter-spacing: 0.5px;
}
.art-calc__col-num {
 width: 30px;
 height: 30px;
 border-radius: 50%;
 background: var(--accent-2);
 color: var(--accent);
 font-family: 'Montserrat', sans-serif;
 font-size: 14px;
 font-weight: 800;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
}

.art-calc__field { margin-bottom: 22px; }
.art-calc__label {
 display: block;
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.8px;
 color: var(--black);
 margin-bottom: 8px;
}

.art-calc__select-wrap { position: relative; }
.art-calc__select {
 width: 100%;
 height: 54px;
 border: 1.5px solid #dbe2ea;
 border-radius: 12px;
 padding: 0 44px 0 18px;
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 color: #334155;
 background: var(--white);
 appearance: none;
 -webkit-appearance: none;
 outline: none;
 cursor: pointer;
 transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.art-calc__select:focus {
 border-color: var(--accent-2);
 box-shadow: 0 0 0 3px rgba(2,42,104,0.08);
}
.art-calc__select-icon {
 position: absolute;
 right: 16px;
 top: 50%;
 transform: translateY(-50%);
 color: var(--accent-2);
 font-size: 12px;
 pointer-events: none;
}

.art-calc__input {
 width: 100%;
 height: 54px;
 border: 1.5px solid #dbe2ea;
 border-radius: 12px;
 padding: 0 18px;
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 color: #334155;
 background: var(--white);
 outline: none;
 transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.art-calc__input:focus {
 border-color: var(--accent-2);
 box-shadow: 0 0 0 3px rgba(2,42,104,0.08);
}
.art-calc__note {
 font-family: 'Lato', sans-serif;
 font-size: 12px;
 color: var(--text);
 margin: 6px 0 0;
}
.art-calc__hidden { display: none !important; }

.art-calc__upgrades {
 display: flex;
 flex-direction: column;
 gap: 12px;
 margin-bottom: 24px;
}
.art-calc__upgrade-item {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 border: 1.5px solid #e8edf4;
 border-radius: 12px;
 padding: 14px 18px;
 cursor: pointer;
 transition: border-color 0.25s ease, background 0.25s ease;
}
.art-calc__upgrade-item:hover {
 border-color: var(--accent-2);
 background: rgba(2,42,104,0.03);
}
.art-calc__upgrade-label {
 display: flex;
 flex-direction: column;
 gap: 3px;
 flex: 1;
 cursor: pointer;
}
.art-calc__upgrade-name {
 font-family: 'Lato', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 font-weight: 600;
 color: var(--black);
}
.art-calc__upgrade-price {
 font-family: 'Lato', sans-serif;
 font-size: 12px;
 color: var(--accent-2);
 font-weight: 600;
}

/* Toggle switch */
.art-calc__toggle {
 position: relative;
 display: inline-block;
 width: 48px;
 height: 26px;
 flex-shrink: 0;
 cursor: pointer;
}
.art-calc__toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.art-calc__toggle-slider {
 position: absolute;
 inset: 0;
 background: #dbe2ea;
 border-radius: 26px;
 transition: background 0.3s ease;
}
.art-calc__toggle-slider::before {
 content: '';
 position: absolute;
 width: 20px;
 height: 20px;
 border-radius: 50%;
 background: var(--white);
 left: 3px;
 top: 3px;
 transition: transform 0.3s ease;
 box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.art-calc__toggle input:checked + .art-calc__toggle-slider { background: var(--accent-2); }
.art-calc__toggle input:checked + .art-calc__toggle-slider::before { transform: translateX(22px); }

.art-calc__wa-btn {
 width: 100%;
 height: 56px;
 border: none;
 border-radius: 12px;
 background: #25D366;
 color: var(--white);
 font-family: 'Montserrat', sans-serif;
 font-size: 15px;
 font-weight: 700;
 cursor: pointer;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 10px;
 margin-bottom: 24px;
 box-shadow: 0 4px 20px rgba(37,211,102,0.25);
 transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.art-calc__wa-btn:hover {
 transform: translateY(-2px);
 box-shadow: 0 8px 28px rgba(37,211,102,0.35);
 color: var(--white);
}

.art-calc__total {
 border: 2px solid #edf0f5;
 border-radius: 14px;
 padding: 20px 24px;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 background: #f8fafc;
}
.art-calc__total-left { display: flex; flex-direction: column; gap: 4px; }
.art-calc__total-label {
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.8px;
 color: var(--accent-2);
}
.art-calc__total-note {
 font-family: 'Lato', sans-serif;
 font-size: 11px;
 color: var(--text);
}
.art-calc__total-price {
 font-family: 'Montserrat', sans-serif;
 font-size: 32px;
 font-weight: 800;
 color: var(--black);
 line-height: 1;
 white-space: nowrap;
 transition: color 0.4s ease;
}
.art-calc__total-price--active { color: var(--accent-2); }

.art-calc__trust {
 display: flex;
 flex-direction: row;
 gap: 14px;
 margin-top: 28px;
 padding-top: 24px;
 border-top: 1px solid #edf0f5;
}
.art-calc__trust-item { display: flex; align-items: flex-start; gap: 14px; }
.art-calc__trust-icon {
 width: 42px;
 height: 42px;
 border-radius: 10px;
 background: rgba(2,42,104,0.07);
 display: flex;
 align-items: center;
 justify-content: center;
 color: var(--accent-2);
 font-size: 16px;
 flex-shrink: 0;
 transition: background 0.3s ease;
}
.art-calc__trust-item:hover .art-calc__trust-icon { background: var(--accent-2); color: var(--accent); }
.art-calc__trust-text { display: flex; flex-direction: column; gap: 2px; }
.art-calc__trust-title {
 font-family: 'Montserrat', sans-serif;
 font-size: 13px;
 font-weight: 700;
 color: var(--black);
}
.art-calc__trust-desc {
 font-family: 'Lato', sans-serif;
 font-size: 12px;
 color: var(--text);
 line-height: 1.5;
}


/* ==========================================================
 6. MATERIAL SELECTION - .art-material-selection
========================================================== */
.art-material-selection { background: var(--bg); }

.art-material-selection__inner {
 display: grid;
 grid-template-columns: 1fr 1fr;
 align-items: center;
 gap: 40px;
}

.art-material-selection__images { position: relative; width: 100%; min-height: 480px; }

.art-material-selection__dots {
 position: absolute;
 top: 10px;
 left: 0;
 width: 130px;
 height: 130px;
 background-image: radial-gradient(circle, var(--accent-2) 1.8px, transparent 1.8px);
 background-size: 14px 14px;
 z-index: 0;
 border-radius: 4px;
 opacity: 0.55;
}

.art-material-selection__img-back {
 position: absolute;
 top: 0;
 right: 0;
 width: 72%;
 height: 100%;
 border-radius: 16px;
 overflow: hidden;
 box-shadow: 0 8px 32px rgba(0,0,0,0.13);
 z-index: 1;
}
.art-material-selection__img-back img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.5s ease;
}
.art-material-selection__img-back:hover img { transform: scale(1.04); }

.art-material-selection__img-front {
 position: absolute;
 bottom: 30px;
 left: 0;
 width: 48%;
 height: 52%;
 border-radius: 14px;
 overflow: hidden;
 border: 5px solid var(--white);
 box-shadow: 0 8px 32px rgba(0,0,0,0.18);
 z-index: 2;
}
.art-material-selection__img-front img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.5s ease;
}
.art-material-selection__img-front:hover img { transform: scale(1.06); }

.art-material-selection__content { padding-left: 10px; }

.art-material-selection--img-left .art-material-selection__images { order: 1; }
.art-material-selection--img-left .art-material-selection__content { order: 2; }
.art-material-selection--img-right .art-material-selection__images { order: 2; }
.art-material-selection--img-right .art-material-selection__content {
 order: 1;
 padding-left: 0;
 padding-right: 10px;
}

.art-material-selection__para {
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 color: var(--text);
 line-height: 1.85;
 margin-bottom: 18px;
}
.art-material-selection__btn { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; letter-spacing: 0.06em; font-size: 13px; }


/* ==========================================================
 7. CEO MESSAGE - .art-ceo-message
========================================================== */
.art-ceo-message { background: var(--bg); }

.art-ceo-message__header { text-align: center; margin-bottom: 50px; }
.art-ceo-message__heading {
 font-family: 'Montserrat', sans-serif;
 color: var(--accent-2);
 margin-top: 12px;
}

.art-ceo-message__grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 32px;
 margin-bottom: 50px;
}

.art-ceo-message__card {
 background: var(--white);
 border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 4px 24px rgba(0,0,0,0.08);
 border-top: 4px solid var(--accent);
 display: flex;
 align-items: center;
 transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.art-ceo-message__card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,0.13); }

.art-ceo-message__photo { width: 100%; height: 320px; overflow: hidden; }
.art-ceo-message__photo img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: top;
 display: block;
 transition: transform 0.5s ease;
}
.art-ceo-message__card:hover .art-ceo-message__photo img { transform: scale(1.04); }

.art-ceo-message__info { padding: 28px 28px 32px; }
.art-ceo-message__name {
 font-family: 'Montserrat', sans-serif;
 font-size: 22px; /* style.css h4 = 22px */
 color: var(--accent-2);
 margin: 0 0 4px;
}
.art-ceo-message__title {
 font-family: 'Montserrat', sans-serif;
 font-size: 12px;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 700;
 margin: 0 0 16px;
}
.art-ceo-message__quote {
 font-family: 'Lato', sans-serif;
 font-style: italic;
 font-size: 15px;
 color: var(--text);
 line-height: 1.75;
 margin: 0;
 padding-left: 16px;
 border-left: 3px solid var(--accent);
}

/* Stats bar */
.art-ceo-message__stats {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 background: var(--accent-2);
 border-radius: 12px;
 overflow: hidden;
}
.art-ceo-message__stat {
 padding: 36px 24px;
 text-align: center;
 border-right: 1px solid rgba(255,255,255,0.1);
 transition: background 0.3s ease;
}
.art-ceo-message__stat:last-child { border-right: none; }
.art-ceo-message__stat:hover { background: rgba(255,255,255,0.06); }
.art-ceo-message__stat-value {
 display: block;
 font-family: 'Montserrat', sans-serif;
 font-size: 36px;
 color: var(--accent);
 line-height: 1;
 margin-bottom: 10px;
 font-weight: 700;
}
.art-ceo-message__stat-label {
 display: block;
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: rgba(255,255,255,0.7);
 font-weight: 600;
}


/* ==========================================================
 8. TRUSTED CLIENTS - .art-trusted-clients
========================================================== */
.art-trusted-clients { background: var(--white); text-align:center; }

.art-trusted-clients__heading {
 font-family: 'Montserrat', sans-serif;
 text-align: center;
 color: var(--accent-2);
 margin-bottom: 40px;
}

.art-trusted-clients__grid {
 display: grid;
 grid-template-columns: repeat(6, 1fr);
 gap: 20px;
 align-items: center;
}

.art-trusted-clients__item {
 background: var(--card-bg);
 border-radius: 10px;
 padding: 20px 18px;
 display: flex;
 align-items: center;
 justify-content: center;
 min-height: 80px;
 border: 1px solid rgba(0,0,0,0.05);
 cursor: default;
 transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.art-trusted-clients__item:hover {
 transform: translateY(-4px);
 box-shadow: 0 8px 24px rgba(0,0,0,0.1);
 border-color: var(--accent);
}
.art-trusted-clients__item img {
 max-width: 110px;
 max-height: 50px;
 width: auto;
 height: auto;
 object-fit: contain;
 filter: grayscale(30%);
 opacity: 0.85;
 display: block;
 transition: filter 0.3s ease, opacity 0.3s ease;
}
.art-trusted-clients__item:hover img { filter: grayscale(0%); opacity: 1; }


/* ==========================================================
 9. PROJECTS GALLERY - .art-projects-gallery
========================================================== */
.art-projects-gallery { background: var(--white); text-align:center;}

.art-projects-gallery__heading {
 font-family: 'Montserrat', sans-serif;
 text-align: center;
 color: var(--accent-2);
 margin-bottom: 40px;
}

.art-projects-gallery__grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 18px;
}

.art-projects-gallery__item {
 position: relative;
 border-radius: 12px;
 overflow: hidden;
 aspect-ratio: 4/3;
 background: var(--overlay);
 cursor: pointer;
 box-shadow: 0 4px 24px rgba(0,0,0,0.10);
}
.art-projects-gallery__item img {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.5s ease;
}
.art-projects-gallery__item:hover img { transform: scale(1.07); }

.art-projects-gallery__overlay {
 position: absolute;
 inset: 0;
 background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, transparent 55%);
 display: flex;
 align-items: flex-end;
 padding: 20px;
 opacity: 0;
 transition: opacity 0.3s ease;
}
.art-projects-gallery__item:hover .art-projects-gallery__overlay { opacity: 1; }
.art-projects-gallery__overlay span {
 font-family: 'Lato', sans-serif;
 color: var(--white);
 font-weight: 600;
 font-size: 15px;
 letter-spacing: 0.03em;
}


/* ==========================================================
 10. SERVICE FAQs - .art-service-faqs
========================================================== */
.art-service-faqs { background: var(--white); }

.art-service-faqs__header { text-align: center; margin-bottom: 48px; }
.art-service-faqs__heading {
 font-family: 'Montserrat', sans-serif;
 color: var(--accent-2);
 margin-top: 12px;
}

.art-service-faqs__list {
 max-width: 1000px;
 margin: 0 auto;
 display: flex;
 flex-direction: column;
 gap: 15px;
}

.art-service-faqs__item.active {background: var(--bg); border: 0px; border-radius: 12px; }
.art-service-faqs__item {background: var(--bg);padding:20px;border-radius:12px; }

.art-service-faqs__question {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 100%;
 background: none;
 border: none;
 font-family: 'Montserrat', sans-serif;
 font-size: 16px; /* style.css body = 16px */
 font-weight: 600;
 color: var(--black);
 text-align: left;
 cursor: pointer;
 gap: 16px;
 transition: color 0.2s ease;
}

.art-service-faqs__icon {
 flex-shrink: 0;
 color: var(--black);
 display: flex;
 transition: transform 0.3s ease, color 0.2s ease;
}
.art-service-faqs__item.active .art-service-faqs__icon { transform: rotate(180deg); color: var(--accent-2); }
.art-service-faqs__item.active .art-service-faqs__question { color: var(--accent-2);font-weight:700; }

.art-service-faqs__answer { padding: 5px 0px; animation: artFadeInUp 0.3s ease both; }
.art-service-faqs__answer p {
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 color: var(--text);
 line-height: 1.8;
 margin: 0;
}


/* ==========================================================
 11. CTA / DEPLOY CONTACT - .art-deploy-contact
========================================================== */
.art-deploy-contact { background: var(--bg); position: relative; overflow: hidden; }

.art-deploy-contact__inner {
 display: flex;
 align-items: center;
 gap: 40px;
 background: var(--accent-2);
 border-radius: 20px;
 padding: 60px 56px;
 position: relative;
 overflow: hidden;
}
.art-deploy-contact__inner::before {
 content: '';
 position: absolute;
 top: -80px;
 right: -80px;
 width: 340px;
 height: 340px;
 border-radius: 50%;
 background: rgba(255,189,43,0.06);
 pointer-events: none;
}
.art-deploy-contact__inner::after {
 content: '';
 position: absolute;
 bottom: -100px;
 left: -60px;
 width: 260px;
 height: 260px;
 border-radius: 50%;
 background: rgba(255,255,255,0.04);
 pointer-events: none;
}

.art-deploy-contact__left { flex: 1; color: var(--white); position: relative; z-index: 1; }
.art-deploy-contact__heading {
 font-family: 'Montserrat', sans-serif;
 font-weight: 700;
 font-size: 36px; /* style.css h2 = 36px */
 color: var(--white);
 line-height: 1.2;
 margin: 0 0 20px;
}
.art-deploy-contact__highlight { color: var(--accent); }
.art-deploy-contact__sub {
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 color: var(--white);
 line-height: 1.8;
 margin: 0 0 36px;
 max-width: 380px;
}

/* Contact items */
.art-deploy-contact__contacts { display: flex; flex-direction: column; }
.art-deploy-contact__contact-item {
 display: flex;
 align-items: center;
 gap: 16px;
 color: var(--white);
 text-decoration: none;
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 font-weight: 600;
 padding: 14px 0;
 border-bottom: 1px solid rgba(255,255,255,0.08);
 transition: color 0.2s ease, transform 0.3s ease;
}
.art-deploy-contact__contact-item:last-child { border-bottom: none; }
.art-deploy-contact__contact-item:hover { color: var(--accent); transform: translateX(6px); }

.art-deploy-contact__contact-text {
 display: flex;
 flex-direction: column;
 gap: 3px;
}
.art-deploy-contact__contact-text small {
 display: block;
 font-family: 'Montserrat', sans-serif;
 font-size: 10px;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: rgba(255,255,255,0.45);
 font-weight: 700;
}
.art-deploy-contact__contact-icon {
 width: 44px;
 height: 44px;
 border-radius: 12px;
 background: var(--white);
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 transition: background 0.3s ease, transform 0.3s ease;
 color: var(--accent-2);
}
.art-deploy-contact__contact-item:hover .art-deploy-contact__contact-icon {
 background: var(--accent);
 color: var(--white);
 transform: scale(1.08);
}

.art-deploy-contact__right { flex: 0 0 480px; position: relative; z-index: 1; }
.art-deploy-contact__form-wrap { background: var(--white); border-radius: 16px; padding: 36px; box-shadow: 0 16px 60px rgba(0,0,0,0.25); }

.art-deploy-contact__form-row {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 16px;
 margin-bottom: 16px;
}
.art-deploy-contact__field { display: flex; flex-direction: column; margin-bottom: 16px; }
.art-deploy-contact__field:last-of-type { margin-bottom: 20px; }
.art-deploy-contact__form-row .art-deploy-contact__field { margin-bottom: 0; }

.art-deploy-contact__field label {
 font-family: 'Montserrat', sans-serif;
 font-size: 10px;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 font-weight: 700;
 color: var(--text);
 margin-bottom: 8px;
}

/* Select dropdown */
.art-deploy-contact__select-wrap { position: relative; }
.art-deploy-contact__select-wrap select {
 width: 100%;
 border: 1.5px solid rgba(0,0,0,0.10);
 border-radius: 8px;
 padding: 12px 40px 12px 16px;
 font-family: 'Lato', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 color: var(--accent-2);
 background: var(--bg);
 outline: none;
 appearance: none;
 -webkit-appearance: none;
 cursor: pointer;
 transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.art-deploy-contact__select-wrap select:focus {
 border-color: var(--accent-2);
 box-shadow: 0 0 0 3px rgba(2,42,104,0.1);
}
.art-deploy-contact__select-icon {
 position: absolute;
 right: 14px;
 top: 50%;
 transform: translateY(-50%);
 color: var(--accent-2);
 pointer-events: none;
}

.art-required { color: #e53e3e; margin-left: 2px; }

.art-deploy-contact__field input,
.art-deploy-contact__field textarea {
 border: 1.5px solid rgba(0,0,0,0.10);
 border-radius: 8px;
 padding: 12px 16px;
 font-family: 'Lato', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 color: var(--accent-2);
 background: var(--bg);
 outline: none;
 resize: vertical;
 transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.art-deploy-contact__field input:focus,
.art-deploy-contact__field textarea:focus {
 border-color: var(--accent-2);
 box-shadow: 0 0 0 3px rgba(2,42,104,0.1);
}
.art-deploy-contact__field input::placeholder,
.art-deploy-contact__field textarea::placeholder { color: var(--overlay); }

.art-deploy-contact__submit {
 width: 100%;
 padding: 16px;
 font-family: 'Montserrat', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 letter-spacing: 0.08em;
 font-weight: 700;
 cursor: pointer;
 border: none;
 border-radius: 8px;
 background: var(--accent);
 color: var(--accent-2);
 transition: background 0.3s ease, transform 0.2s ease;
}
.art-deploy-contact__submit:hover { background: #e6a800; transform: translateY(-2px); }
.art-deploy-contact__submit:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

.art-deploy-contact__feedback {
 border-radius: 8px;
 padding: 14px 18px;
 font-family: 'Lato', sans-serif;
 font-size: 14px;
 font-weight: 600;
 margin-bottom: 16px;
 line-height: 1.5;
}
.art-deploy-contact__feedback--success { background: #e8f7ef; color: #1a7a45; border: 1.5px solid #a8e6c0; }
.art-deploy-contact__feedback--error { background: #fff0f0; color: #c0392b; border: 1.5px solid #f5b3b3; }


/* ==========================================================
 ANIMATIONS
========================================================== */
@keyframes artFadeInUp {
 from { opacity: 0; transform: translateY(30px); }
 to { opacity: 1; transform: translateY(0); }
}
@keyframes artFadeInDown {
 from { opacity: 0; transform: translateY(-20px); }
 to { opacity: 1; transform: translateY(0); }
}
@keyframes artPulse {
 0%,100% { transform: scale(1); opacity: 1; }
 50% { transform: scale(1.4); opacity: 0.6; }
}
@keyframes artParticleFloat {
 0% { transform: translateY(0) scale(1); opacity: 0; }
 20% { opacity: 0.8; }
 80% { opacity: 0.4; }
 100% { transform: translateY(-120px) scale(0); opacity: 0; }
}
@keyframes artScrollLine {
 0% { transform: scaleY(0); transform-origin: top; }
 50% { transform: scaleY(1); transform-origin: top; }
 51% { transform: scaleY(1); transform-origin: bottom; }
 100% { transform: scaleY(0); transform-origin: bottom; }
}


/* ==========================================================
 RESPONSIVE - TABLET (max-width: 1024px)
========================================================== */
@media (max-width: 1024px) {

 .art-comp__inner { grid-template-columns: 1fr; gap: 40px; }
 .art-comp__right { height: 460px; }

 .art-services__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
 .art-services__deco { display: none; }
 .art-services__card { min-height: 260px; }

 .art-biz__grid { grid-template-columns: repeat(2, 1fr); }

 .art-calc__grid { grid-template-columns: 1fr; }
 .art-calc__col { padding: 32px 28px; }
 .art-calc__col:first-child { border-right: none; border-bottom: 1px solid #edf0f5; }

 .art-material-selection__inner { grid-template-columns: 1fr; gap: 60px; }
 .art-material-selection__images { min-height: 420px; order: -1; }
 .art-material-selection__content { padding-left: 0; padding-right: 0; }
 .art-material-selection--img-left .art-material-selection__images,
 .art-material-selection--img-right .art-material-selection__images {
 order: -1;
 }
 .art-material-selection--img-left .art-material-selection__content,
 .art-material-selection--img-right .art-material-selection__content {
 order: 2;
 }

 .art-ceo-message__stats { grid-template-columns: repeat(2, 1fr); }
 .art-ceo-message__stat:nth-child(2) { border-right: none; }
 .art-ceo-message__stat:nth-child(3) { border-right: 1px solid rgba(255,255,255,0.1); }

 .art-trusted-clients__grid { grid-template-columns: repeat(4, 1fr); }

 .art-projects-gallery__grid { grid-template-columns: repeat(2, 1fr); }

 .art-deploy-contact__inner { flex-direction: column; gap: 48px; padding: 48px 36px; }
 .art-deploy-contact__right { flex: none; width: 100%; }
}


/* ==========================================================
 BLOG SHOWCASE - .art-blog-showcase
========================================================== */
.art-blog-showcase {
 background: var(--bg);
 overflow-x: clip;
 overflow-y: visible;
}

.art-blog-showcase__header {
 max-width: 720px;
 margin: 0 auto 52px;
}

.art-blog-showcase__heading {
 font-family: 'Montserrat', sans-serif;
 margin: 12px 0 14px;
 font-size: clamp(28px, 4vw, 36px); /* capped at style.css h2 = 36px */
}

.art-blog-showcase__intro {
 font-family: 'Lato', sans-serif;
 font-size: 16px; /* style.css body = 16px */
 line-height: 1.75;
 color: var(--text);
}

.art-blog-showcase__filter-label {
 margin: 10px auto 28px;
 max-width: 720px;
 font-family: 'Montserrat', sans-serif;
 font-size: clamp(13px, 3.5vw, 15px);
 font-weight: 600;
 color: var(--accent-2);
 line-height: 1.5;
 padding: 0 16px;
 text-align: center;
}

.art-blog-showcase__empty {
 font-family: 'Lato', sans-serif;
 color: var(--text);
 padding: 40px 0;
}

.art-blog-showcase__featured { display: none; }

.art-blog-card {
 height: 100%;
 display: flex;
 flex-direction: column;
 background: var(--white);
 border-radius: 16px;
 overflow: hidden;
 box-shadow: 0 8px 32px rgba(0,0,0,0.08);
 border: 1px solid rgba(0,0,0,0.06);
 transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}
.art-blog-card:hover {
 transform: translateY(-6px);
 box-shadow: 0 20px 48px rgba(0,0,0,0.14);
}

.art-blog-card__media {
 position: relative;
 display: block;
 aspect-ratio: 16 / 10;
 overflow: hidden;
 background: var(--card-bg);
}
.art-blog-card__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.art-blog-card:hover .art-blog-card__media img { transform: scale(1.06); }

.art-blog-card__placeholder {
 display: block;
 width: 100%;
 height: 100%;
 background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
 opacity: 0.35;
}

.art-blog-card__shine {
 position: absolute;
 inset: 0;
 background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.2) 50%, transparent 60%);
 transform: translateX(-100%);
 transition: transform 0.85s ease;
 pointer-events: none;
}
.art-blog-card:hover .art-blog-card__shine { transform: translateX(100%); }

.art-blog-card__body {
 padding: 22px 22px 26px;
 flex: 1;
 display: flex;
 flex-direction: column;
 min-height: 0;
}

.art-blog-card__date {
 font-family: 'Montserrat', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--accent);
 margin-bottom: 8px;
}

.art-blog-card__title {
 font-family: 'Montserrat', sans-serif;
 font-size: 18px; /* style.css h5 = 18px */
 font-weight: 700;
 line-height: 1.35;
 margin: 0 0 10px;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 2;
 line-clamp: 2;
 overflow: hidden;
}
.art-blog-card__title a {
 color: var(--black);
 text-decoration: none;
 transition: color 0.25s ease;
}
.art-blog-card__title a:hover { color: var(--accent-2); }

.art-blog-card__excerpt {
 font-family: 'Lato', sans-serif;
 font-size: 14px; /* .p-sm = 14px */
 line-height: 1.65;
 color: var(--text);
 margin: 0 0 16px;
 flex: 1;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 4;
 line-clamp: 4;
 overflow: hidden;
}

.art-blog-card__read {
	align-self: flex-start;
	margin-top: auto;
	font-size: 12px;
	text-decoration: none;
}

/* Track carousel (same pattern as reviews; JS sets card widths) */
.art-blog-showcase__carousel-wrap {
 margin-top: 32px;
 position: relative;
 z-index: 1;
 display: flex;
 align-items: center;
 gap: 12px;
 padding: 8px 0 32px;
 overflow: visible;
}
.art-blog-showcase__viewport {
 flex: 1;
 min-width: 0;
 overflow-x: hidden;
 overflow-y: visible;
 padding-top: 12px;
 padding-bottom: 14px;
 margin-top: -12px;
 margin-bottom: -14px;
}
.art-blog-showcase__track {
 display: flex;
 flex-wrap: nowrap;
 gap: 20px;
 will-change: transform;
 transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 cursor: grab;
 user-select: none;
 align-items: stretch;
}
.art-blog-showcase__track:active { cursor: grabbing; }

.art-blog-showcase__nav-btn {
 width: 44px;
 height: 44px;
 border-radius: 50%;
 border: none;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 flex-shrink: 0;
}

.art-blog-showcase__dots {
 margin-top: 8px;
}

/* (Bootstrap carousel removed from blog — shared nav uses .art-carousel-nav-btn--on-light) */

/* Shared carousel nav — light surface (blog, white bg) */
.art-carousel-nav-btn--on-light {
 width: 44px;
 height: 44px;
 border-radius: 50%;
 border: none;
 background: var(--accent-2) !important;
 color: var(--white);
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
 opacity: 1;
 transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
.art-carousel-nav-btn--on-light:hover {
 background: var(--accent) !important;
 transform: scale(1.06);
 box-shadow: 0 8px 24px color-mix(in srgb, var(--accent) 45%, transparent);
}
.art-carousel-nav-btn--on-light:disabled {
 opacity: 0.45;
 cursor: not-allowed;
 transform: none;
}

/* Shared carousel nav — dark surface (reviews, accent-2 bg) */
.art-carousel-nav-btn--on-dark {
 background: var(--white);
 color: var(--accent-2);
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.art-carousel-nav-btn--on-dark:hover:not(:disabled) {
 background: var(--black);
 color: var(--white);
 transform: scale(1.06);
}

/* Shared dots */
.art-carousel-dots {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 8px;
 margin: 0;
 padding: 0;
 list-style: none;
}
.art-carousel-dots button,
.art-carousel-dots .art-carousel-dot,
.art-carousel-dots .art-reviews__dot {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 border: none;
 padding: 0;
 cursor: pointer;
 transition: background 0.3s ease, transform 0.3s ease, width 0.3s ease;
}
.art-carousel-dots--on-light button,
.art-carousel-dots--on-light .art-carousel-dot {
 background: color-mix(in srgb, var(--black) 20%, transparent);
}
.art-carousel-dots--on-light button:hover,
.art-carousel-dots--on-light .art-carousel-dot:hover {
 background: color-mix(in srgb, var(--black) 45%, transparent);
 transform: scale(1.15);
}
.art-carousel-dots--on-light button.active,
.art-carousel-dots--on-light .art-carousel-dot.active {
 background: var(--accent);
 width: 24px;
 border-radius: 4px;
 box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);
}
.art-carousel-dots--on-dark .art-reviews__dot,
.art-carousel-dots--on-dark .art-carousel-dot {
 background: color-mix(in srgb, var(--white) 30%, transparent);
}
.art-carousel-dots--on-dark .art-reviews__dot:hover,
.art-carousel-dots--on-dark .art-carousel-dot:hover {
 background: color-mix(in srgb, var(--white) 55%, transparent);
}
.art-carousel-dots--on-dark .art-reviews__dot.active,
.art-carousel-dots--on-dark .art-carousel-dot.active {
 background: var(--accent);
 width: 24px;
 border-radius: 4px;
}
.art-reviews__dots {
 margin-top: 20px;
}
.art-reviews__carousel-wrap--has-dots:not(.art-reviews__carousel-wrap--has-arrows) {
 flex-direction: column;
 align-items: stretch;
}


/* ═══════════════════════════════════════════════════════
 SERVICE-HERO - .art-svc-hero
═══════════════════════════════════════════════════════ */
.art-svc-hero {
 position: relative;
 min-height: 700px;
 display: flex;
 align-items: center;
 overflow: hidden;
 background: linear-gradient(120deg, #022A68 0%, #034099 45%, #011540 100%);
 contain: layout style;
}

.art-svc-hero__bg {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center;
 z-index: 0;
 pointer-events: none;
}

.art-svc-hero__overlay {
 position: absolute;
 inset: 0;
 background: linear-gradient(135deg, rgba(2,42,104,0.92) 0%, rgba(1,21,64,0.58) 60%, rgba(0,0,0,0.1) 100%);
 z-index: 1;
}

.art-svc-hero__geo { position: absolute; pointer-events: none; z-index: 1; }

.art-svc-hero__geo--lines {
 left: 0;
 bottom: 0;
 width: 180px;
 height: 3px;
 background: linear-gradient(to right, #FFBD2B, transparent);
 animation: svcHeroLineSlide 3s ease-in-out infinite alternate;
}
@keyframes svcHeroLineSlide {
 from { width: 100px; opacity: 0.4; }
 to { width: 220px; opacity: 1; }
}

.art-svc-hero__inner {
 position: relative;
 z-index: 2;
 padding: 100px 0 80px;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
}

.art-svc-hero__heading {
 margin: 0 0 20px;
 letter-spacing: -0.02em;
 max-width: 700px;
}

.art-svc-hero__highlight {
 color: var(--accent);
 position: relative;
 display: inline-block;
}
.art-svc-hero__highlight::after {
 content: '';
 position: absolute;
 bottom: -4px;
 left: 0;
 right: 0;
 height: 3px;
 background: #FFBD2B;
 border-radius: 2px;
 transform: scaleX(0);
 transform-origin: left;
 animation: svcHeroUnderline 0.8s ease-out 0.8s forwards;
}
@keyframes svcHeroUnderline { to { transform: scaleX(1); } }

.art-svc-hero__paragraph {
 font-size: 16px;
 color: rgba(255, 255, 255, 0.78);
 line-height: 1.8;
 max-width: 540px;
 margin-bottom: 36px;
}
.art-svc-hero__paragraph p { margin: 0; }

.art-svc-hero__btns {
 display: flex;
 gap: 16px;
 flex-wrap: wrap;
}

.art-svc-hero__scroll {
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 8px;
 opacity: 0.5;
}
.art-svc-hero__scroll-line {
 width: 1px;
 height: 48px;
 background: linear-gradient(to bottom, #FFBD2B, transparent);
 display: block;
 animation: svcHeroScrollLine 1.8s ease-in-out infinite;
}
@keyframes svcHeroScrollLine {
 0% { transform: scaleY(0); transform-origin: top; opacity: 1; }
 50% { transform: scaleY(1); transform-origin: top; opacity: 1; }
 100% { transform: scaleY(1); transform-origin: bottom; opacity: 0; }
}
.art-svc-hero__scroll-text {
 font-size: 9px;
 font-weight: 700;
 letter-spacing: 3px;
 text-transform: uppercase;
 writing-mode: vertical-rl;
 color: rgba(255, 255, 255, 0.55);
}


/* ═══════════════════════════════════════════════════════
 SERVICE-INTRO - .art-svc-intro
═══════════════════════════════════════════════════════ */
.art-svc-intro {
 padding: 100px 0;
 background: var(--white);
 overflow: hidden;
}

.art-svc-intro__inner {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 80px;
 align-items: center;
}

.art-svc-intro__content .section-badge { margin-bottom: 16px; }

.art-svc-intro__content .section-heading { margin-bottom: 24px; }

.art-svc-intro--img-right .art-svc-intro__content { order: 1; }
.art-svc-intro--img-right .art-svc-intro__media { order: 2; }
.art-svc-intro--img-left .art-svc-intro__content { order: 2; }
.art-svc-intro--img-left .art-svc-intro__media { order: 1; }

.art-svc-intro__para {
 font-family: 'Lato', sans-serif;
 font-size: 16px; /* style.css body = 16px */
 color: var(--text);
 line-height: 1.8;
 margin-bottom: 16px;
}
.art-svc-intro__para p { margin: 0 0 8px; }
.art-svc-intro__para p:last-child { margin-bottom: 0; }

/* Stats */
.art-svc-intro__btn-wrap {
 margin: 18px 0 0;
}

.art-svc-intro__stats {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 12px;
 margin-top: 24px;
}
.art-svc-intro__stat {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 text-align: center;
 gap: 4px;
 padding: 14px 10px;
 background: var(--white);
 border-radius: 12px;
 border-top: 4px solid var(--accent);
 box-shadow: 0 4px 24px rgba(0,0,0,0.08);
 transition: transform 0.3s ease, box-shadow 0.3s ease;
 opacity: 0;
 transform: translateY(20px);
}
.art-svc-intro__stat.is-visible {
 opacity: 1;
 transform: translateY(0);
 transition: opacity 0.5s ease, transform 0.5s ease;
}
.art-svc-intro__stat:nth-child(1) { transition-delay: 0s; }
.art-svc-intro__stat:nth-child(2) { transition-delay: 0.12s; }
.art-svc-intro__stat:nth-child(3) { transition-delay: 0.24s; }
.art-svc-intro__stat:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,0.14); }
.art-svc-intro__stat-val {
 font-family: 'Montserrat', sans-serif;
 font-size: 26px;
 font-weight: 800;
 color: var(--accent-2);
 line-height: 1;
}
.art-svc-intro__stat-label {
 font-family: 'Montserrat', sans-serif;
 font-size: 10px;
 font-weight: 700;
 color: var(--text);
 text-transform: uppercase;
 letter-spacing: 0.1em;
}
.art-svc-intro__stat-divider { display: none; }

/* Media */
.art-svc-intro__media { position: relative; }

.art-svc-intro__dots {
 position: absolute;
 top: -24px;
 right: -24px;
 width: 100px;
 height: 100px;
 background-image: radial-gradient(circle, rgba(2,42,104,0.2) 1.5px, transparent 1.5px);
 background-size: 14px 14px;
 z-index: 0;
 border-radius: 4px;
}

.art-svc-intro__accent-bar {
 position: absolute;
 bottom: -20px;
 left: -20px;
 width: 80px;
 height: 80px;
 border-left: 4px solid var(--accent);
 border-bottom: 4px solid var(--accent);
 z-index: 0;
 border-radius: 0 0 0 4px;
 transition: width 0.4s ease, height 0.4s ease;
}
.art-svc-intro__media:hover .art-svc-intro__accent-bar { width: 110px; height: 110px; }

.art-svc-intro__img-wrap {
 position: relative;
 z-index: 1;
 border-radius: 14px;
 overflow: hidden;
 box-shadow: 0 20px 60px rgba(0,0,0,0.18);
 cursor: pointer;
}
.art-svc-intro__img {
 width: 100%;
 height: 420px;
 object-fit: cover;
 display: block;
 transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}
.art-svc-intro__img-wrap:hover .art-svc-intro__img { transform: scale(1.06); }
.art-svc-intro__img-placeholder {
 width: 100%;
 height: 420px;
 background: #dde4f0;
 display: flex;
 align-items: center;
 justify-content: center;
}

/* Overlay removed */
.art-svc-intro__img-overlay,
.art-svc-intro__img-overlay-inner,
.art-svc-intro__img-overlay-icon { display: none; }

/* Floating badge */
.art-svc-intro__img-badge {
 position: absolute;
 bottom: 20px;
 left: 10px;
 background: var(--white);
 border-radius: 8px;
 padding: 10px 16px;
 display: flex;
 align-items: center;
 gap: 8px;
 font-family: 'Montserrat', sans-serif;
 font-size: 12px;
 font-weight: 700;
 color: var(--accent-2);
 box-shadow: 0 8px 30px rgba(0,0,0,0.18);
 white-space: nowrap;
 z-index: 3;
 animation: svcIntroBadgeFloat 3s ease-in-out infinite;
}
.art-svc-intro__img-badge-icon {
 width: 24px; height: 24px;
 background: var(--accent);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-family: 'Montserrat', sans-serif;
 font-size: 12px;
 color: var(--accent-2);
 font-weight: 800;
 flex-shrink: 0;
}
@keyframes svcIntroBadgeFloat {
 0%, 100% { transform: translateY(0); }
 50% { transform: translateY(-6px); }
}

/* Corner frame */
.art-svc-intro__frame {
 position: absolute;
 top: -16px;
 right: -16px;
 width: 60px;
 height: 60px;
 border-top: 3px solid rgba(255,189,43,0.5);
 border-right: 3px solid rgba(255,189,43,0.5);
 border-radius: 0 6px 0 0;
 z-index: 0;
 transition: width 0.4s ease, height 0.4s ease, border-color 0.3s ease;
}
.art-svc-intro__media:hover .art-svc-intro__frame {
 width: 90px;
 height: 90px;
 border-color: var(--accent);
}

/* ═══════════════════════════════════════════════════════
 ART / REVIEWS SECTION
═══════════════════════════════════════════════════════ */

.art-reviews {
 background: var(--accent-2);
 overflow-x: clip;
 overflow-y: visible;
 position: relative;
 font-family: var(--art-font-family-heading);
}

/* subtle background texture */
.art-reviews::before {
 content: '';
 position: absolute;
 inset: 0;
 background:
 radial-gradient(circle at 10% 20%, rgba(255,189,43,0.06) 0%, transparent 50%),
 radial-gradient(circle at 90% 80%, rgba(255,255,255,0.03) 0%, transparent 50%);
 pointer-events: none;
}

/* ── Header ── */
.art-reviews__header {
 text-align: center;
 margin-bottom: 48px;
 position: relative;
 z-index: 1;
}

.art-reviews__badge {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 background: color-mix(in srgb, var(--accent) 12%, transparent);
 border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
 color: var(--accent);
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 2px;
 text-transform: uppercase;
 padding: 6px 18px;
 border-radius: 30px;
 margin-bottom: 16px;
 display: inline-flex;
}

.art-reviews__badge-dot {
 width: 6px;
 height: 6px;
 background: var(--accent);
 border-radius: 50%;
 animation: reviewsDotPulse 2s ease-in-out infinite;
 flex-shrink: 0;
}
@keyframes reviewsDotPulse {
 0%, 100% { transform: scale(1); opacity: 1; }
 50% { transform: scale(1.4); opacity: 0.6; }
}

.art-reviews__heading {
 color: var(--white);
 font-size: clamp(24px, 3.5vw, 36px);
 font-weight: 800;
 margin: 0 0 12px;
 line-height: 1.2;
}

.art-reviews__paragraph {
 color: var(--white);
 font-family: 'Lato', sans-serif;
 font-size: 15px;
 line-height: 1.75;
 max-width: 580px;
 margin: 0 auto;
}
.art-reviews__paragraph p { margin: 0; }

/* ── Carousel Wrap ── */
.art-reviews__carousel-wrap {
 position: relative;
 z-index: 1;
 display: flex;
 align-items: center;
 gap: 12px;
 padding: 16px 0 24px;
 overflow: visible;
}

.art-reviews__viewport {
 flex: 1;
 min-width: 0;
 overflow-x: hidden;
 overflow-y: visible;
 padding-top: 12px;
 padding-bottom: 14px;
 margin-top: -12px;
 margin-bottom: -14px;
}

.art-reviews__track {
 display: flex;
 flex-wrap: nowrap;
 gap: 20px;
 will-change: transform;
 transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 cursor: grab;
 user-select: none;
 align-items: stretch;
}
.art-reviews__track:active { cursor: grabbing; }

/* ── Card ── */
.art-reviews__card {
 flex: 0 0 100%;
 max-width: 100%;
 width: 100%;
 box-sizing: border-box;
 flex-shrink: 0;
 display: flex;
 flex-direction: column;
 background: var(--white);
 border-radius: 16px;
 padding: 22px 20px 20px;
 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
 position: relative;
 overflow: hidden;
	height: 230px;
	max-height: 280px;
 transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* Top accent line */
.art-reviews__card::before {
 content: '';
 position: absolute;
 top: 0; left: 0; right: 0;
 height: 3px;
 background: linear-gradient(to right, var(--accent), color-mix(in srgb, var(--accent) 30%, transparent));
 border-radius: 16px 16px 0 0;
}

.art-reviews__card:hover {
 transform: translateY(-5px);
 box-shadow: 0 20px 48px rgba(0, 0, 0, 0.28);
}

/* ── Card Top Row: Avatar + Name + Google ── */
.art-reviews__card-top {
 display: flex;
 align-items: center;
 gap: 10px;
 margin-bottom: 12px;
}

.art-reviews__avatar {
 width: 44px;
 height: 44px;
 border-radius: 50%;
 overflow: hidden;
 flex-shrink: 0;
 background: var(--accent-2);
 display: flex;
 align-items: center;
 justify-content: center;
}
.art-reviews__avatar img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center top;
 display: block;
}
.art-reviews__avatar-initials {
 color: var(--accent);
 font-size: 14px;
 font-weight: 700;
 font-family: 'Montserrat', sans-serif;
 line-height: 1;
}

.art-reviews__reviewer {
 display: flex;
 flex-direction: column;
 gap: 2px;
 flex: 1;
 min-width: 0;
}
.art-reviews__reviewer-name {
 font-size: 13px;
 font-weight: 700;
 color: var(--accent-2);
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 font-family: 'Montserrat', sans-serif;
}
.art-reviews__reviewer-date {
 font-size: 11px;
 color: var(--text);
 font-family: 'Lato', sans-serif;
}

.art-reviews__google-icon {
 flex-shrink: 0;
 width: 20px;
 height: 20px;
}

/* ── Stars Row ── */
.art-reviews__stars-row {
 display: flex;
 align-items: center;
 gap: 6px;
 margin-bottom: 12px;
 padding-bottom: 12px;
 border-bottom: 1px solid #e2e8f0;
}

.art-reviews__stars {
 display: flex;
 gap: 1px;
}
.art-reviews__star {
 font-size: 16px;
 color: #ddd;
 line-height: 1;
 transition: transform 0.2s ease;
}
.art-reviews__star--filled {
 color: var(--accent);
}
.art-reviews__card:hover .art-reviews__star--filled {
 animation: starWiggle 0.4s ease;
}
@keyframes starWiggle {
 0%, 100% { transform: scale(1) rotate(0); }
 30% { transform: scale(1.3) rotate(-8deg); }
 60% { transform: scale(1.2) rotate(5deg); }
}

.art-reviews__verified {
 display: inline-flex;
 align-items: center;
 margin-left: 2px;
}

/* ── Text ── */
.art-reviews__text-wrap {
 flex: 1;
 min-height: 0;
 max-height: calc(1.7em * 3 + 6px);
 overflow-y: auto;
 overflow-x: hidden;
 padding-right: 4px;
 scrollbar-width: thin;
 scrollbar-color: #cbd5e1 transparent;
}

.art-reviews__text-wrap::-webkit-scrollbar {
 width: 5px;
}

.art-reviews__text-wrap::-webkit-scrollbar-thumb {
 background: #cbd5e1;
 border-radius: 999px;
}

.art-reviews__text {
 font-family: 'Lato', sans-serif;
 font-size: 13px;
 color: #555;
 line-height: 1.7;
 margin: 0;
}

/* ── Navigation (left / right of card) ── */
.art-reviews__nav-btn {
 width: 44px;
 height: 44px;
 border-radius: 50%;
 border: none;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
 flex-shrink: 0;
}
.art-reviews__nav-btn:disabled,
.art-blog-showcase__nav-btn:disabled,
.art-carousel-nav-btn--on-dark:disabled {
 opacity: 0.5;
 cursor: not-allowed;
 transform: none;
}

/* ── Shortcode wrapper ── */
.art-reviews__shortcode {
 position: relative;
 z-index: 1;
}

/* ==========================================================
 RESPONSIVE - Tablet (max-width: 1024px)
========================================================== */
@media (max-width: 1024px) {
 .art-svc-hero__inner { padding: 80px 0 60px; }
 .art-svc-intro__inner { gap: 48px; }
 .art-svc-intro__img,
 .art-svc-intro__img-placeholder { height: 360px; }
 .art-reviews__track { gap: 16px; }
}


/* ==========================================================
 RESPONSIVE - MOBILE (max-width: 767px)
========================================================== */
@media (max-width: 767px) {

 /* Hero */
 .art-hero__btns {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
 }
 .art-hero__btns .custom-btn {
  padding: 10px 14px;
  font-size: 14px;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
  justify-content: center;
 }
 .art-hero__scroll { display: none; }
 .art-hero__inner { padding: 80px 0 120px; }

 /* Competencies */
 .art-comp__right {
 grid-template-columns: 1fr;
 grid-template-rows: 260px 200px 180px 200px;
 height: auto;
 }
 .art-comp__img-large { grid-column: 1; grid-row: 1; }
 .art-comp__img-sm { height: 200px; }
 .art-comp__img-dark-card { height: 180px; }
 .art-comp__points { grid-template-columns: 1fr 1fr; }

 /* Services */
 .art-services__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
 .art-services__card { min-height: 200px; }
 .art-services__card-link { opacity: 1; transform: translateY(0); }
 .art-services__card:hover { transform: none; }

 /* Business Units */
 .art-biz__grid { grid-template-columns: 1fr; }

 /* Price Calculator */
 .art-calc__col { padding: 24px 20px; }
 .art-calc__subheading { font-size: 15px; } /* style.css mobile body = 15px */
 .art-calc__total { flex-direction: column; align-items: flex-start; }
 .art-calc__total-price { font-size: 26px; }

 /* Material Selection */
 
 .art-material-selection__images { min-height: 340px; }

 /* CEO Message */
 
 .art-ceo-message__grid { grid-template-columns: 1fr; }
 .art-ceo-message__stats { grid-template-columns: repeat(2, 1fr); }
 .art-ceo-message__stat:nth-child(2) { border-right: none; }
 .art-ceo-message__stat:nth-child(3) { border-right: 1px solid rgba(255,255,255,0.1); }
 .art-ceo-message__stat-value { font-size: 28px; }
 .art-ceo-message__card { flex-direction: column; }
 .art-ceo-message__photo { height: 400px; }

 /* Trusted Clients */
 .art-trusted-clients__grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }

 /* Projects Gallery */
 
 .art-projects-gallery__grid { grid-template-columns: 1fr; gap: 14px; }

 /* Service FAQs */
 
 .art-service-faqs__question { font-size: 15px; }

 /* Deploy Contact */
 
 .art-deploy-contact__inner { padding: 36px 24px; border-radius: 16px; }
 .art-deploy-contact__form-wrap { padding: 24px 20px; }
 .art-deploy-contact__form-row { grid-template-columns: 1fr; }

 /* Blog — track carousel */
 .art-blog-showcase__carousel-wrap { padding: 4px 0 24px; gap: 8px; }
 .art-carousel-nav-btn--on-light,
 .art-blog-showcase__nav-btn { width: 40px; height: 40px; }
 .art-blog-showcase__track { gap: 12px; }

 /* Service Hero */
 .art-svc-hero { min-height: 460px; }
 .art-svc-hero__inner { padding: 80px 0 50px; flex-direction: column; align-items: flex-start; gap: 30px; }
 .art-svc-hero__scroll { display: none; }
 .art-svc-hero__btns {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
 }
 .art-svc-hero__btns .custom-btn {
  width: auto;
  flex: 1 1 auto;
  padding: 10px 14px;
  font-size: 11px;
  white-space: nowrap;
  justify-content: center;
 }

 /* Service Intro */
 
 .art-svc-intro__inner { grid-template-columns: 1fr; gap: 40px; }
 .art-svc-intro--img-left .art-svc-intro__content,
 .art-svc-intro--img-right .art-svc-intro__content {
 order: 2;
 }
 .art-svc-intro--img-left .art-svc-intro__media,
 .art-svc-intro--img-right .art-svc-intro__media {
 order: -1;
 }
 .art-svc-intro__img,
 .art-svc-intro__img-placeholder { height: 280px; }
 .art-svc-intro__img-badge { left: 10px; bottom: 10px; }
 .art-svc-intro__stats { grid-template-columns: repeat(3, 1fr); gap: 10px; }
 .art-svc-intro__stat { padding: 16px 10px; }
 .art-svc-intro__stat-val { font-size: 26px; }
 .art-svc-intro__dots { display: none; }

 /* Reviews */
 .art-reviews__carousel-wrap {
 gap: 8px;
 padding: 12px 0 20px;
 }
 .art-reviews__nav-btn {
 width: 40px;
 height: 40px;
 flex-shrink: 0;
 }
 .art-reviews__track { gap: 12px; }
 .art-reviews__card {
 padding: 20px 18px 18px;
 }
 .art-reviews__text-wrap { max-height: 160px; }
}

/* ==========================================================
   Theme sync — padding & typography from Customizer (style.css)
========================================================== */
section.art-hero,
section.art-svc-hero,
section.art-comp,
section.art-services,
section.art-biz,
section.art-calc,
section.art-material-selection,
section.art-ceo-message,
section.art-trusted-clients,
section.art-projects-gallery,
section.art-service-faqs,
section.art-deploy-contact,
section.art-blog-showcase,
section.art-reviews,
section.art-svc-intro {
 padding-top:    var(--art-pad-top-d);
 padding-bottom: var(--art-pad-bottom-d);
}

.art-hero__inner,
.art-svc-hero__inner {
 padding: 100px 0 140px;
}

/* Typography sizes: Customizer → inc/customizer-css.php (inline on art-blocks) */

.art-reviews__heading { font-weight: 800; }

.art-services__card-content { padding: 22px 20px; z-index: 2; }
.art-biz__card { padding: 28px 24px; }
.art-calc__col { padding: 40px 44px; }
.art-reviews__card { padding: 22px 20px 20px; }
.art-deploy-contact__inner { padding: 60px 56px; }
.art-deploy-contact__form-wrap { padding: 36px; }

@media (max-width: 1024px) {
 section.art-hero,
 section.art-svc-hero,
 section.art-comp,
 section.art-services,
 section.art-biz,
 section.art-calc,
 section.art-material-selection,
 section.art-ceo-message,
 section.art-trusted-clients,
 section.art-projects-gallery,
 section.art-service-faqs,
 section.art-deploy-contact,
 section.art-blog-showcase,
 section.art-reviews,
 section.art-svc-intro {
  padding-top:    var(--art-pad-top-t);
  padding-bottom: var(--art-pad-bottom-t);
 }
 .art-hero__inner,
 .art-svc-hero__inner { padding: 80px 0 100px; }
 .art-calc__col { padding: 32px 28px; }
}

@media (max-width: 767px) {
 section.art-hero,
 section.art-svc-hero,
 section.art-comp,
 section.art-services,
 section.art-biz,
 section.art-calc,
 section.art-material-selection,
 section.art-ceo-message,
 section.art-trusted-clients,
 section.art-projects-gallery,
 section.art-service-faqs,
 section.art-deploy-contact,
 section.art-blog-showcase,
 section.art-reviews,
 section.art-svc-intro {
  padding-top:    var(--art-pad-top-m);
  padding-bottom: var(--art-pad-bottom-m);
 }
 .art-hero__inner,
 .art-svc-hero__inner { padding: 80px 0 120px; }
 .art-svc-hero__inner {
  padding: 80px 0 50px;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
 }
 .art-calc__col { padding: 24px 20px; }
 .art-deploy-contact__inner { padding: 36px 24px; }
 .art-deploy-contact__form-wrap { padding: 24px 20px; }
}

/* ==========================================================
 NEW BLOCKS — Process / Features / Split Showcase
========================================================== */
.art-reveal,
.art-process__step,
.art-features__card {
 opacity: 0;
 transform: translateY(22px);
 transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
 transition-delay: var(--art-step-delay, 0ms);
}
.art-reveal.is-visible,
.art-process__step.is-visible,
.art-features__card.is-visible {
 opacity: 1;
 transform: translateY(0);
}
.art-features__card { transition-delay: var(--art-feat-delay, 0ms); }

/* Process timeline */
.art-process {
 padding: 80px 0;
 background: var(--bg);
}
.art-process__header {
 text-align: center;
 max-width: 720px;
 margin: 0 auto 48px;
}
.art-process__intro {
 color: var(--text);
 line-height: 1.7;
 margin-top: 12px;
}
.art-process__track {
 position: relative;
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 20px;
}
.art-process__line {
 position: absolute;
 top: 34px;
 left: 8%;
 right: 8%;
 height: 3px;
 background: linear-gradient(90deg, var(--accent) 0%, color-mix(in srgb, var(--accent-2) 40%, var(--accent)) 100%);
 border-radius: 999px;
 z-index: 0;
}
.art-process__step {
 position: relative;
 z-index: 1;
 text-align: center;
}
.art-process__node {
 width: 68px;
 height: 68px;
 margin: 0 auto 16px;
 border-radius: 50%;
 background: var(--white);
 border: 3px solid var(--accent);
 display: flex;
 align-items: center;
 justify-content: center;
 color: var(--accent-2);
 font-size: 24px;
 box-shadow: 0 10px 28px rgba(2, 42, 104, 0.12);
 transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.art-process__step:hover .art-process__node {
 transform: translateY(-4px) scale(1.04);
 box-shadow: 0 16px 36px rgba(255, 189, 43, 0.35);
}
.art-process__card {
 background: var(--white);
 border-radius: 14px;
 padding: 20px 16px;
 box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
 border-top: 4px solid var(--accent);
 min-height: 160px;
}
.art-process__num {
 display: block;
 font-size: 11px;
 font-weight: 800;
 letter-spacing: 0.14em;
 color: var(--accent);
 margin-bottom: 6px;
}
.art-process__title {
 font-size: 16px;
 font-weight: 800;
 color: var(--accent-2);
 margin: 0 0 8px;
}
.art-process__desc {
 font-size: 13px;
 line-height: 1.6;
 color: var(--text);
 margin: 0;
}

/* Feature highlights */
.art-features {
 padding: 80px 0;
 background: linear-gradient(135deg, var(--accent-2) 0%, #011540 100%);
 color: var(--white);
}
.art-features .section-heading { color: var(--white); }
.art-features__header {
 text-align: center;
 max-width: 720px;
 margin: 0 auto 40px;
}
.art-features__intro {
 color: rgba(255, 255, 255, 0.85);
 line-height: 1.7;
 margin-top: 12px;
}
.art-features__grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 18px;
}
.art-features__card {
 background: rgba(255, 255, 255, 0.08);
 border: 1px solid rgba(255, 255, 255, 0.14);
 border-radius: 16px;
 padding: 24px 18px;
 backdrop-filter: blur(6px);
 transition: transform 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}
.art-features__card:hover {
 transform: translateY(-6px);
 background: rgba(255, 255, 255, 0.12);
 border-color: rgba(255, 189, 43, 0.45);
}
.art-features__icon-wrap {
 width: 52px;
 height: 52px;
 border-radius: 12px;
 background: var(--accent);
 color: var(--accent-2);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 22px;
 margin-bottom: 14px;
}
.art-features__title {
 font-size: 16px;
 font-weight: 800;
 margin: 0 0 8px;
 color: var(--white);
}
.art-features__desc {
 font-size: 13px;
 line-height: 1.6;
 color: rgba(255, 255, 255, 0.82);
 margin: 0;
}

/* Split showcase */
.art-split-showcase {
 padding: 80px 0;
 background: var(--white);
}
.art-split-showcase__inner {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 48px;
 align-items: center;
}
.art-split-showcase--img-right .art-split-showcase__media { order: 2; }
.art-split-showcase--img-right .art-split-showcase__content { order: 1; }
.art-split-showcase__media {
 position: relative;
}
.art-split-showcase__frame {
 position: absolute;
 inset: -12px -12px 12px 12px;
 border: 2px solid var(--accent);
 border-radius: 16px;
 z-index: 0;
 pointer-events: none;
}
.art-split-showcase__img,
.art-split-showcase__placeholder {
 position: relative;
 z-index: 1;
 width: 100%;
 border-radius: 16px;
 display: block;
 min-height: 360px;
 object-fit: cover;
 box-shadow: 0 20px 50px rgba(2, 42, 104, 0.18);
}
.art-split-showcase__placeholder {
 background: linear-gradient(135deg, #e8ecf3 0%, #dfe6ef 100%);
}
.art-split-showcase__badge-float {
 position: absolute;
 left: 16px;
 bottom: 16px;
 z-index: 2;
 display: inline-flex;
 align-items: center;
 gap: 8px;
 padding: 10px 14px;
 background: var(--white);
 border-radius: 999px;
 font-size: 12px;
 font-weight: 700;
 color: var(--accent-2);
 box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}
.art-split-showcase__badge-float i {
 color: #22c55e;
}
.art-split-showcase__para {
 color: var(--text);
 line-height: 1.75;
 margin: 14px 0 18px;
}
.art-split-showcase__points {
 list-style: none;
 margin: 0 0 22px;
 padding: 0;
}
.art-split-showcase__points li {
 display: flex;
 align-items: flex-start;
 gap: 10px;
 margin-bottom: 10px;
 font-size: 14px;
 color: var(--text);
}
.art-split-showcase__points i {
 color: var(--accent);
 margin-top: 3px;
}

@media (max-width: 1023px) {
 .art-process__track { grid-template-columns: repeat(2, 1fr); }
 .art-process__line { display: none; }
 .art-features__grid { grid-template-columns: repeat(2, 1fr); }
 .art-split-showcase__inner { grid-template-columns: 1fr; gap: 32px; }
 .art-split-showcase--img-right .art-split-showcase__media,
 .art-split-showcase--img-right .art-split-showcase__content { order: unset; }
}
@media (max-width: 767px) {
 .art-process__track { grid-template-columns: 1fr; }
 .art-features__grid { grid-template-columns: 1fr; }
}

/* Rich text from block editors (bold, lists, links) */
.art-rich-text,
.art-comp__service-desc,
.art-trusted-clients__paragraph,
.art-biz__paragraph,
.art-biz__card-desc,
.art-ceo-message__paragraph,
.art-ceo-message__quote,
.art-calc__subheading,
.art-services__paragraph,
.art-projects-gallery__paragraph,
.art-service-faqs__paragraph,
.art-service-faqs__answer-body,
.art-svc-hero__paragraph,
.art-svc-intro__para,
.art-material-selection__para,
.art-split-showcase__para,
.art-features__intro,
.art-features__desc,
.art-process__intro,
.art-process__desc,
.art-reviews__paragraph,
.art-reviews__text,
.art-deploy-contact__sub,
.art-blog-showcase__intro,
.art-archive-hero__desc {
 word-break: break-word;
}

.art-rich-text ul,
.art-rich-text ol,
.art-hero__para ul,
.art-hero__para ol,
.art-comp__service-desc ul,
.art-comp__service-desc ol,
.art-trusted-clients__paragraph ul,
.art-trusted-clients__paragraph ol,
.art-biz__paragraph ul,
.art-biz__paragraph ol,
.art-biz__card-desc ul,
.art-biz__card-desc ol,
.art-ceo-message__paragraph ul,
.art-ceo-message__paragraph ol,
.art-ceo-message__quote ul,
.art-ceo-message__quote ol,
.art-calc__subheading ul,
.art-calc__subheading ol,
.art-services__paragraph ul,
.art-services__paragraph ol,
.art-projects-gallery__paragraph ul,
.art-projects-gallery__paragraph ol,
.art-service-faqs__answer-body ul,
.art-service-faqs__answer-body ol,
.art-svc-hero__paragraph ul,
.art-svc-hero__paragraph ol,
.art-svc-intro__body ul,
.art-svc-intro__body ol,
.art-material-selection__para ul,
.art-material-selection__para ol,
.art-split-showcase__para ul,
.art-split-showcase__para ol,
.art-features__intro ul,
.art-features__intro ol,
.art-features__desc ul,
.art-features__desc ol,
.art-process__intro ul,
.art-process__intro ol,
.art-process__desc ul,
.art-process__desc ol,
.art-reviews__text ul,
.art-reviews__text ol,
.art-reviews__paragraph ul,
.art-reviews__paragraph ol,
.art-biz__card-desc ul,
.art-biz__card-desc ol,
.art-deploy-contact__sub ul,
.art-deploy-contact__sub ol {
 margin: 0.75em 0 0.75em 1.25em;
 padding: 0;
}

.art-rich-text li,
.art-hero__para li,
.art-comp__service-desc li,
.art-trusted-clients__paragraph li,
.art-biz__paragraph li,
.art-biz__card-desc li,
.art-ceo-message__paragraph li,
.art-ceo-message__quote li,
.art-calc__subheading li,
.art-services__paragraph li,
.art-projects-gallery__paragraph li,
.art-service-faqs__answer-body li,
.art-svc-hero__paragraph li,
.art-svc-intro__body li,
.art-material-selection__para li,
.art-split-showcase__para li,
.art-features__intro li,
.art-features__desc li,
.art-process__intro li,
.art-process__desc li,
.art-reviews__text li,
.art-reviews__paragraph li,
.art-biz__card-desc li,
.art-deploy-contact__sub li {
 margin-bottom: 0.35em;
}

.art-rich-text b,
.art-rich-text strong,
.art-hero__para b,
.art-hero__para strong,
.art-comp__service-desc b,
.art-comp__service-desc strong {
 font-weight: 700;
}

.art-rich-text a,
.art-hero__para a,
.art-comp__service-desc a,
.art-deploy-contact__sub a {
 color: var(--accent);
 text-decoration: underline;
}
