/*
Theme Name: Centro de Criação — Elementor
Theme URI: https://centrodecriacao.com.br
Author: Centro de Criação
Author URI: https://centrodecriacao.com.br
Description: Tema institucional moderno, responsivo e totalmente editável com Elementor para a Centro de Criação.
Version: 2.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: centro-de-criacao
*/

:root { --ccc-ink:#11110f; --ccc-paper:#f4f2ec; --ccc-white:#fff; --ccc-yellow:#f2db00; --ccc-muted:#6b6a64; --ccc-line:rgba(17,17,15,.14); }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ccc-ink); background:var(--ccc-paper); font-family:"Poppins","Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
*,*::before,*::after { box-sizing:border-box; }
a { color:inherit; text-decoration:none; }
.elementor img { display:block; max-width:100%; }
.elementor-widget:not(:last-child) { margin-block-end:0; }
.ccc-v2-section.e-con { --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; --gap:0; }
.ccc-v2-shell.e-con { width:min(1240px,calc(100% - 56px)); max-width:1240px; margin-inline:auto; }
.ccc-v2-index .elementor-heading-title { color:inherit; font-size:10px; font-weight:700; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; }

/* Header and parallax hero */
.ccc-v2-hero { min-height:100svh; position:relative; overflow:hidden; color:var(--ccc-white); background-size:cover !important; background-position:center !important; background-attachment:fixed !important; }
.ccc-v2-hero::before { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(90deg,rgba(7,7,6,.9) 0%,rgba(7,7,6,.68) 48%,rgba(7,7,6,.23) 100%); pointer-events:none; }
.ccc-v2-hero::after { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.34),transparent 35%,rgba(0,0,0,.42)); pointer-events:none; }
.ccc-v2-header { min-height:96px; position:relative; z-index:3; border-bottom:1px solid rgba(255,255,255,.22); }
.ccc-v2-brand { width:auto !important; gap:13px; }
.ccc-v2-brand-mark { width:44px !important; height:44px; flex:0 0 44px; display:grid; place-items:center; color:var(--ccc-ink); background:var(--ccc-yellow); border-radius:50%; }
.ccc-v2-brand-mark .elementor-heading-title { color:var(--ccc-ink); font-size:12px; font-weight:900; letter-spacing:-1px; }
.ccc-v2-brand-name { width:auto !important; }
.ccc-v2-brand-name .elementor-heading-title { color:inherit; font-size:14px; font-weight:700; }
.ccc-v2-nav { width:auto !important; gap:12px; }
.ccc-v2-nav-button { width:auto !important; }
.ccc-v2-nav-button .elementor-button { padding:12px 10px; color:#dddcd5; background:transparent; border:0; font-size:12px; font-weight:400; }
.ccc-v2-nav-button .elementor-button:hover { color:var(--ccc-yellow); }
.ccc-v2-nav-button .elementor-button-icon { display:none; }
.ccc-v2-header-cta { width:auto !important; }
.ccc-v2-header-cta .elementor-button { padding:13px 0; color:var(--ccc-white); background:transparent; font-size:12px; font-weight:650; }
.ccc-v2-header-cta .elementor-button:hover { color:var(--ccc-yellow); }
.ccc-v2-header-cta .elementor-button-icon { font-size:14px; }
.ccc-v2-hero-content { min-height:calc(100svh - 96px); position:relative; z-index:2; justify-content:center; padding-block:90px 44px; }
.ccc-v2-hero-copy { width:100%; max-width:790px; }
.ccc-v2-hero-kicker { margin-bottom:26px; }
.ccc-v2-hero-kicker .elementor-heading-title { color:var(--ccc-yellow); font-size:10px; font-weight:700; line-height:1.4; letter-spacing:.16em; }
.ccc-v2-hero-title .elementor-heading-title { margin:0; color:var(--ccc-white); font-size:clamp(58px,7.4vw,108px); line-height:.92; letter-spacing:-.065em; font-weight:630; }
.ccc-v2-hero-title em { color:var(--ccc-yellow); font-family:Georgia,serif; font-weight:400; }
.ccc-v2-hero-lead { max-width:610px; margin-top:30px; }
.ccc-v2-hero-lead p { margin:0; color:#d4d3cd; font-size:17px; line-height:1.7; }
.ccc-v2-hero-actions { width:auto !important; gap:12px; margin-top:37px; }
.ccc-v2-primary-button,.ccc-v2-ghost-button { width:auto !important; }
.ccc-v2-primary-button .elementor-button,.ccc-v2-ghost-button .elementor-button { min-height:56px; display:flex; align-items:center; justify-content:center; gap:14px; padding:0 23px; border-radius:999px; font-size:12px; font-weight:700; }
.ccc-v2-primary-button .elementor-button { color:var(--ccc-ink); background:var(--ccc-yellow); }
.ccc-v2-ghost-button .elementor-button { color:#fff; background:rgba(0,0,0,.08); border:1px solid rgba(255,255,255,.55); backdrop-filter:blur(8px); }
.ccc-v2-ghost-button .elementor-button-icon { display:none; }
.ccc-v2-hero-footnote { width:100%; margin-top:auto; padding-top:70px; }
.ccc-v2-footnote-text { width:auto !important; }
.ccc-v2-footnote-text .elementor-heading-title { color:#c4c3bd; font-size:10px; font-weight:400; letter-spacing:.05em; text-transform:uppercase; }

/* Clients */
.ccc-v2-trust { color:#fff; background:#0c0c0b; border-top:1px solid rgba(255,255,255,.12); }
.ccc-v2-trust-inner { min-height:130px; gap:48px; }
.ccc-v2-trust-title { width:210px !important; flex:0 0 210px; }
.ccc-v2-trust-title .elementor-heading-title { color:#aaa9a2; font-size:10px; line-height:1.5; font-weight:700; letter-spacing:.1em; }
.ccc-v2-trust-logos { flex:1; gap:28px; }
.ccc-v2-client-logo { width:18% !important; }
.ccc-v2-client-logo img { max-width:130px; max-height:48px; margin-inline:auto; filter:grayscale(1) brightness(0) invert(1); opacity:.7; }

/* Shared headings and services */
.ccc-v2-services { padding-block:138px 150px !important; background:#f5f3ed; }
.ccc-v2-section-head { gap:90px; }
.ccc-v2-head-main { width:auto; min-width:0; flex:1.35; }
.ccc-v2-section-title .elementor-heading-title,.ccc-v2-about-title .elementor-heading-title,.ccc-v2-process-heading .elementor-heading-title,.ccc-v2-portfolio-title .elementor-heading-title,.ccc-v2-testimonial-title .elementor-heading-title,.ccc-v2-faq-title .elementor-heading-title,.ccc-v2-contact-title .elementor-heading-title { margin:26px 0 0; color:inherit; font-size:clamp(45px,5vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.055em; }
.ccc-v2-section-description { width:auto; min-width:0; flex:.65; }
.ccc-v2-section-description p { margin:0 0 7px; color:var(--ccc-muted); font-size:14px; line-height:1.8; }
.ccc-v2-services-grid { gap:14px; margin-top:72px; }
.ccc-v2-service-card { width:calc(25% - 10.5px); min-height:555px; padding:30px 27px; background:#fff; border:1px solid var(--ccc-line); border-radius:18px; }
.ccc-v2-service-stone { background:#e9e7df; }
.ccc-v2-service-dark { color:#fff; background:#181816; }
.ccc-v2-service-yellow { background:var(--ccc-yellow); }
.ccc-v2-service-top { width:100%; }
.ccc-v2-service-icon { width:48px !important; height:48px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; }
.ccc-v2-service-icon .elementor-icon-wrapper { display:grid; place-items:center; line-height:1; }
.ccc-v2-service-icon .elementor-icon { color:currentColor !important; font-size:19px; }
.ccc-v2-service-icon .elementor-icon svg { fill:currentColor !important; }
.ccc-v2-service-number { width:auto !important; }
.ccc-v2-service-number .elementor-heading-title { color:inherit; font-size:10px; font-weight:700; letter-spacing:.13em; }
.ccc-v2-service-title { margin-top:72px; }
.ccc-v2-service-title .elementor-heading-title { color:inherit; font-size:31px; font-weight:500; line-height:1.05; letter-spacing:-.045em; }
.ccc-v2-service-copy { margin-top:18px; }
.ccc-v2-service-copy p { margin:0; color:#67665f; font-size:13px; line-height:1.72; }
.ccc-v2-service-dark .ccc-v2-service-copy p { color:#aaa9a2; }
.ccc-v2-service-list { margin-top:auto; padding-top:30px; border-top:1px solid currentColor; }
.ccc-v2-service-list ul { margin:0; padding:0; list-style:none; }
.ccc-v2-service-list li { position:relative; padding:7px 0 7px 16px; font-size:11px; }
.ccc-v2-service-list li::before { content:""; width:5px; height:5px; position:absolute; left:0; top:13px; background:currentColor; border-radius:50%; opacity:.55; }

/* About */
.ccc-v2-about { padding-block:150px !important; background:#fff; }
.ccc-v2-about-inner { gap:105px; }
.ccc-v2-about-copy { width:auto; min-width:0; flex:1; }
.ccc-v2-about-title { margin-bottom:0; }
.ccc-v2-about-text { margin-top:25px; }
.ccc-v2-about-text p { margin:0; color:var(--ccc-muted); font-size:15px; line-height:1.84; }
.ccc-v2-text-link { width:auto !important; align-self:flex-start; margin-top:28px; }
.ccc-v2-text-link .elementor-button { padding:0 0 10px; color:var(--ccc-ink); background:transparent; border-bottom:1px solid var(--ccc-ink); border-radius:0; font-size:12px; font-weight:700; }
.ccc-v2-about-stats { gap:18px; margin-top:60px; padding-top:28px; border-top:1px solid var(--ccc-line); }
.ccc-v2-stat { width:33.333% !important; }
.ccc-v2-stat .elementor-heading-title { display:flex; flex-direction:column; gap:8px; color:inherit; }
.ccc-v2-stat strong { font-family:Georgia,serif; font-size:29px; font-weight:400; }
.ccc-v2-stat small { color:#77766f; font-family:"Poppins",sans-serif; font-size:9px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.ccc-v2-about-media { width:auto; min-width:0; flex:.88; overflow:hidden; background:#eff0f2; border-radius:22px; }
.ccc-v2-about-image img { width:100%; aspect-ratio:.82; object-fit:cover; object-position:center top; }
.ccc-v2-about-caption { padding:18px 20px; }
.ccc-v2-about-caption .elementor-heading-title { color:#67665f; font-size:10px; font-weight:400; line-height:1.5; }

/* Process */
.ccc-v2-process { padding-block:120px 130px !important; background:var(--ccc-yellow); }
.ccc-v2-process-head { gap:50px; }
.ccc-v2-process-head>.ccc-v2-index { width:auto; min-width:0; flex:.35; }
.ccc-v2-process-heading { width:auto; min-width:0; flex:1.65; }
.ccc-v2-process-heading .elementor-heading-title { max-width:840px; margin-top:0; }
.ccc-v2-process-grid { margin-top:78px; border-top:1px solid rgba(17,17,15,.3); }
.ccc-v2-process-step { width:25%; min-height:250px; padding:28px 25px 0; border-right:1px solid rgba(17,17,15,.22); }
.ccc-v2-process-step:first-child { padding-left:0; }
.ccc-v2-process-step:last-child { border-right:0; }
.ccc-v2-process-number .elementor-heading-title { color:inherit; font-size:10px; font-weight:800; }
.ccc-v2-process-title { margin-top:72px; }
.ccc-v2-process-title .elementor-heading-title { color:inherit; font-size:28px; font-weight:600; letter-spacing:-.04em; }
.ccc-v2-process-text { margin-top:14px; }
.ccc-v2-process-text p { max-width:230px; margin:0; color:#54534e; font-size:12px; line-height:1.7; }

/* Portfolio */
.ccc-v2-portfolio-intro { padding-block:145px 76px !important; color:#fff; background:#10100f; }
.ccc-v2-portfolio-head { gap:50px; }
.ccc-v2-portfolio-head>.ccc-v2-index { width:18%; }
.ccc-v2-portfolio-head-copy { width:82%; }
.ccc-v2-portfolio-title .elementor-heading-title { max-width:900px; margin-top:0; }
.ccc-v2-portfolio-description { max-width:590px; margin-top:24px; }
.ccc-v2-portfolio-description p { margin:0; color:#aaa9a2; font-size:14px; line-height:1.75; }
.ccc-v2-featured { padding-block:80px !important; }
.ccc-v2-featured-one { color:#111; background:#d9d9d6; }
.ccc-v2-featured-two { color:#fff; background:#1b2824; }
.ccc-v2-featured-three { color:#111; background:#d7cbc2; }
.ccc-v2-featured-inner { gap:72px; }
.ccc-v2-featured-inner>.ccc-v2-featured-image { width:72%; }
.ccc-v2-featured-inner>.ccc-v2-featured-copy { width:28%; }
.ccc-v2-featured-two .ccc-v2-featured-inner>.ccc-v2-featured-copy { width:28%; }
.ccc-v2-featured-two .ccc-v2-featured-inner>.ccc-v2-featured-image { width:72%; }
.ccc-v2-featured-image { overflow:hidden; border-radius:12px; }
.ccc-v2-featured-image .elementor-widget-container,.ccc-v2-featured-image img { width:100%; }
.ccc-v2-featured-image img { aspect-ratio:1.185; object-fit:cover; transition:transform .65s ease; }
.ccc-v2-featured:hover .ccc-v2-featured-image img { transform:scale(1.025); }
.ccc-v2-featured-copy { min-height:100%; justify-content:center; }
.ccc-v2-project-type .elementor-heading-title { color:inherit; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ccc-v2-featured-title { margin:18px 0 22px; }
.ccc-v2-featured-title .elementor-heading-title { color:inherit; font-size:clamp(38px,4vw,62px); font-weight:500; line-height:.98; letter-spacing:-.055em; }
.ccc-v2-featured-description p { margin:0; color:inherit; opacity:.7; font-size:13px; line-height:1.75; }
.ccc-v2-project-count { margin-top:auto; padding-top:50px; }
.ccc-v2-project-count .elementor-heading-title { color:inherit; font-family:Georgia,serif; font-size:30px; font-weight:400; opacity:.55; }
.ccc-v2-more-projects { padding-block:110px 145px !important; color:#fff; background:#10100f; }
.ccc-v2-more-projects-grid { flex-wrap:wrap; gap:60px 20px; }
.ccc-v2-project-card { width:calc(50% - 10px); }
.ccc-v2-project-image { margin-bottom:20px; overflow:hidden; background:#242422; border-radius:10px; }
.ccc-v2-project-image .elementor-widget-container,.ccc-v2-project-image img { width:100%; }
.ccc-v2-project-image img { aspect-ratio:1.185; object-fit:cover; transition:transform .5s ease; }
.ccc-v2-project-card:hover img { transform:scale(1.025); }
.ccc-v2-project-card>.ccc-v2-project-type .elementor-heading-title { color:#999890; }
.ccc-v2-project-title { margin-top:8px; }
.ccc-v2-project-title .elementor-heading-title { color:#fff; font-size:22px; font-weight:600; letter-spacing:-.035em; }

/* Portfolio showcase — editorial grid */
.ccc-v3-portfolio { padding-block:145px 155px !important; color:#fff; background:#10100f; }
.ccc-v3-portfolio-head { gap:50px; padding-bottom:76px; }
.ccc-v3-portfolio-head>.ccc-v2-index { width:auto; min-width:0; flex:.35; }
.ccc-v3-portfolio-copy { width:auto; min-width:0; flex:1.65; }
.ccc-v3-portfolio-title .elementor-heading-title { max-width:900px; margin:0; color:#fff; font-size:clamp(45px,5vw,72px); font-weight:500; line-height:1.02; letter-spacing:-.055em; }
.ccc-v3-portfolio-description { max-width:590px; margin-top:24px; }
.ccc-v3-portfolio-description p { margin:0; color:#aaa9a2; font-size:14px; line-height:1.75; }
.ccc-v3-projects-showcase { gap:72px 20px; }
.ccc-v3-showcase-project { min-width:0; }
.ccc-v3-project-wide { width:calc(66.666% - 7px); }
.ccc-v3-project-standard { width:calc(33.333% - 14px); }
.ccc-v3-project-half { width:calc(50% - 10px); }
.ccc-v3-project-full { width:100%; }
.ccc-v3-showcase-image { overflow:hidden; background:#252521; border-radius:12px; }
.ccc-v3-showcase-image .elementor-widget-container,.ccc-v3-showcase-image img { width:100%; }
.ccc-v3-showcase-image img { aspect-ratio:1.185; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.ccc-v3-project-standard .ccc-v3-showcase-image img { aspect-ratio:.82; }
.ccc-v3-project-full .ccc-v3-showcase-image img { aspect-ratio:2.05; object-position:center 46%; }
.ccc-v3-showcase-project:hover .ccc-v3-showcase-image img { transform:scale(1.025); }
.ccc-v3-showcase-caption { width:100%; gap:25px; padding-top:18px; }
.ccc-v3-project-type .elementor-heading-title { color:#999890; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ccc-v3-project-title { margin-top:8px; }
.ccc-v3-project-title .elementor-heading-title { color:#fff; font-size:22px; font-weight:600; letter-spacing:-.035em; }
.ccc-v3-project-number { width:auto !important; }
.ccc-v3-project-number .elementor-heading-title { color:#777770; font-family:Georgia,serif; font-size:19px; font-weight:400; }

/* Restored testimonials */
.ccc-v3-testimonials { padding-block:140px !important; background:#e7e6de; }
.ccc-v3-testimonials-grid { gap:18px; }
.ccc-v3-testimonial-intro { width:auto; min-width:0; flex:.72; padding:14px 42px 10px 0; }
.ccc-v3-testimonial-title { margin-top:32px; }
.ccc-v3-testimonial-title .elementor-heading-title { color:var(--ccc-ink); font-size:clamp(42px,4.3vw,64px); font-weight:600; line-height:1.04; letter-spacing:-.055em; }
.ccc-v3-testimonial-card { width:auto; min-width:0; flex:1; min-height:470px; padding:40px; background:#fff; border-radius:22px; }
.ccc-v3-testimonial-dark { color:#fff; background:#11110f; }
.ccc-v3-stars .elementor-heading-title { color:#d0b900; font-size:15px; letter-spacing:.16em; }
.ccc-v3-testimonial-quote { margin-top:58px; }
.ccc-v3-testimonial-quote blockquote { margin:0; color:var(--ccc-ink); font-family:Georgia,serif; font-size:23px; line-height:1.45; }
.ccc-v3-testimonial-dark .ccc-v3-testimonial-quote blockquote { color:#e8e8e2; }
.ccc-v3-testimonial-person { margin-top:auto; gap:14px; }
.ccc-v3-avatar { width:50px !important; height:50px; }
.ccc-v3-avatar img { width:50px; height:50px; object-fit:cover; border-radius:50%; }
.ccc-v3-person-name .elementor-heading-title { color:inherit; font-size:12px; line-height:1.5; }
.ccc-v3-person-name small { color:#87877f; font-size:10px; font-weight:400; }

/* Testimonial and FAQ */
.ccc-v2-testimonial { padding-block:130px !important; background:#e8e5dc; }
.ccc-v2-testimonial-inner { gap:110px; }
.ccc-v2-testimonial-title-col { width:39%; }
.ccc-v2-testimonial-quote { width:61%; }
.ccc-v2-testimonial-quote blockquote { margin:0; font-family:Georgia,serif; font-size:clamp(25px,3vw,40px); line-height:1.38; }
.ccc-v2-testimonial-quote footer { display:flex; flex-direction:column; gap:5px; margin-top:34px; font-family:"Poppins",sans-serif; font-size:11px; }
.ccc-v2-testimonial-quote footer span { color:#75746e; }
.ccc-v2-faq { padding-block:130px !important; background:#f6f4ee; }
.ccc-v2-faq-inner.e-con { display:grid !important; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:100px; align-items:start !important; }
.ccc-v2-faq-title-col,.ccc-v2-faq-accordion { width:100% !important; max-width:100%; min-width:0 !important; flex:none !important; --container-widget-width:100% !important; --container-widget-flex-grow:0 !important; }
.ccc-v2-faq-accordion>.elementor-widget-container { width:100%; min-width:0; }
.ccc-v2-faq-accordion .elementor-accordion-item { border:0; border-top:1px solid var(--ccc-line); }
.ccc-v2-faq-accordion .elementor-accordion-item:last-child { border-bottom:1px solid var(--ccc-line); }
.ccc-v2-faq-accordion .elementor-tab-title { width:100%; min-height:88px; display:flex; align-items:center; gap:24px; padding:0; border:0; color:var(--ccc-ink); font-size:14px; font-weight:600; }
.ccc-v2-faq-accordion .elementor-accordion-title { min-width:0; flex:1 1 auto; overflow-wrap:anywhere; }
.ccc-v2-faq-accordion .elementor-accordion-icon { margin-left:auto; order:2; }
.ccc-v2-faq-accordion .elementor-tab-content { padding:0 46px 28px 0; border:0; color:var(--ccc-muted); font-size:13px; line-height:1.75; }
.ccc-v2-faq-accordion .elementor-accordion-title,
.ccc-v2-faq-accordion .elementor-active .elementor-accordion-title,
.ccc-v2-faq-accordion .elementor-accordion-icon { color:var(--ccc-ink) !important; }
.ccc-v2-faq-accordion .elementor-accordion-icon svg { fill:currentColor !important; }

/* Contact and footer */
.ccc-v2-contact { padding-block:130px !important; color:#fff; background:#11110f; }
.ccc-v2-contact-inner { gap:110px; }
.ccc-v2-contact-title-col { width:auto; min-width:0; flex:1.18; }
.ccc-v2-contact-actions { width:auto; min-width:0; flex:.82; }
.ccc-v2-contact-description p { margin:0 0 28px; color:#aaa9a2; font-size:14px; line-height:1.75; }
.ccc-v2-whatsapp-button { align-self:flex-start; }
.ccc-v2-whatsapp-button .elementor-button-icon { order:-1; }
.ccc-v2-contact-list { margin-top:30px; }
.ccc-v2-contact-list .elementor-icon-list-item { padding-block:5px; }
.ccc-v2-contact-list .elementor-icon-list-icon { color:#aaa9a2; }
.ccc-v2-contact-list .elementor-icon-list-text { color:#aaa9a2; font-size:11px; }
.ccc-v2-footer { position:relative; padding-block:80px 28px !important; color:#fff; background:#080807; }
.ccc-v2-footer-top { gap:60px; padding-bottom:70px; }
.ccc-v2-footer-brand-col { width:auto; min-width:0; flex:1.3; }
.ccc-v2-footer-brand-col>.ccc-v2-brand { color:#fff; }
.ccc-v2-footer-tagline { max-width:280px; margin-top:23px; }
.ccc-v2-footer-tagline p { margin:0; color:#85857e; font-size:12px; line-height:1.7; }
.ccc-v4-footer-column { width:auto; min-width:0; align-items:flex-start; gap:0; }
.ccc-v4-footer-nav-column { flex:.55; }
.ccc-v4-footer-contact-column { flex:1; }
.ccc-v4-footer-social-column { flex:.65; }
.ccc-v4-footer-title { margin-bottom:22px; }
.ccc-v4-footer-title .elementor-heading-title { color:#fff; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ccc-v2-footer-list { width:100%; }
.ccc-v2-footer-list .elementor-icon-list-item { padding-block:5px; }
.ccc-v2-footer-list .elementor-icon-list-icon { color:#a09f98; font-size:14px; }
.ccc-v2-footer-list .elementor-icon-list-text { color:#a09f98; font-size:11px; }
.ccc-v2-footer-list .elementor-icon-list-icon svg { fill:currentColor !important; }
.ccc-v2-footer-list a:hover .elementor-icon-list-icon,.ccc-v2-footer-list a:hover .elementor-icon-list-text { color:var(--ccc-yellow); }
.ccc-v2-footer-nav .elementor-icon-list-icon { display:none; }
.ccc-v2-footer-bottom { padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
.ccc-v2-footer-small { width:auto !important; }
.ccc-v2-footer-small .elementor-heading-title { color:#66665f; font-size:9px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.ccc-v2-floating-whatsapp { display:none !important; }
.ccc-v2-floating-whatsapp .elementor-button { width:55px; height:55px; display:grid; place-items:center; padding:0; color:var(--ccc-ink); background:var(--ccc-yellow); border:4px solid rgba(255,255,255,.75); border-radius:50%; box-shadow:0 14px 35px rgba(0,0,0,.28); }
.ccc-v2-floating-whatsapp .elementor-button-text { display:none; }
.ccc-v2-floating-whatsapp .elementor-button-icon { margin:0; font-size:22px; }
.ccc-v2-floating-whatsapp[hidden] { display:none !important; }

/*
 * Elementor Kit compatibility
 *
 * Elementor installations may define global widget colors and buttons after
 * the theme stylesheet. These scoped rules restore the approved visual system
 * without locking the individual Elementor controls: element-specific styles
 * created in the editor keep a higher specificity and can still override them.
 */
:where(body.elementor-page .elementor) { color:var(--ccc-ink); font-family:"Poppins","Segoe UI",Arial,sans-serif; }
:where(body.elementor-page .elementor) .elementor-heading-title,
:where(body.elementor-page .elementor) .elementor-widget-text-editor,
:where(body.elementor-page .elementor) .elementor-button { font-family:"Poppins","Segoe UI",Arial,sans-serif; }

:where(body.elementor-page .elementor) .ccc-v2-index .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-service-number .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-process-number .elementor-heading-title { color:inherit; }
:where(body.elementor-page .elementor) .ccc-v2-brand-mark .elementor-heading-title { color:var(--ccc-ink); }
:where(body.elementor-page .elementor) .ccc-v2-brand-name .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-hero-title .elementor-heading-title { color:var(--ccc-white); }
:where(body.elementor-page .elementor) .ccc-v2-hero-title em,
:where(body.elementor-page .elementor) .ccc-v2-hero-kicker .elementor-heading-title { color:var(--ccc-yellow); }
:where(body.elementor-page .elementor) .ccc-v2-footnote-text .elementor-heading-title { color:#c4c3bd; }
:where(body.elementor-page .elementor) .ccc-v2-trust-title .elementor-heading-title { color:#aaa9a2; }

:where(body.elementor-page .elementor) .ccc-v2-section-title .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-about-title .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-process-heading .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-process-title .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v2-faq-title .elementor-heading-title { color:var(--ccc-ink); }
:where(body.elementor-page .elementor) .ccc-v2-service-title .elementor-heading-title { color:var(--ccc-ink); }
:where(body.elementor-page .elementor) .ccc-v2-service-dark .ccc-v2-service-title .elementor-heading-title { color:var(--ccc-white); }
:where(body.elementor-page .elementor) .ccc-v2-service-copy p { color:#67665f; }
:where(body.elementor-page .elementor) .ccc-v2-service-dark .ccc-v2-service-copy p { color:#aaa9a2; }
:where(body.elementor-page .elementor) .ccc-v2-section-description p,
:where(body.elementor-page .elementor) .ccc-v2-about-text p { color:var(--ccc-muted); }
:where(body.elementor-page .elementor) .ccc-v2-process-text p { color:#54534e; }
:where(body.elementor-page .elementor) .ccc-v2-about-caption .elementor-heading-title { color:#67665f; }

:where(body.elementor-page .elementor) .ccc-v3-portfolio-title .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v3-project-title .elementor-heading-title { color:var(--ccc-white); }
:where(body.elementor-page .elementor) .ccc-v3-portfolio-description p { color:#aaa9a2; }
:where(body.elementor-page .elementor) .ccc-v3-project-type .elementor-heading-title { color:#999890; }
:where(body.elementor-page .elementor) .ccc-v3-project-number .elementor-heading-title { color:#777770; }
:where(body.elementor-page .elementor) .ccc-v3-testimonial-title .elementor-heading-title,
:where(body.elementor-page .elementor) .ccc-v3-testimonial-card:not(.ccc-v3-testimonial-dark) .ccc-v3-person-name .elementor-heading-title { color:var(--ccc-ink); }
:where(body.elementor-page .elementor) .ccc-v3-stars .elementor-heading-title { color:#d0b900; }
:where(body.elementor-page .elementor) .ccc-v3-testimonial-dark .ccc-v3-person-name .elementor-heading-title { color:var(--ccc-white); }

:where(body.elementor-page .elementor) .ccc-v2-contact-title .elementor-heading-title { color:var(--ccc-white); }
:where(body.elementor-page .elementor) .ccc-v2-contact-description p { color:#aaa9a2; }
:where(body.elementor-page .elementor) .ccc-v2-footer-tagline p { color:#85857e; }
:where(body.elementor-page .elementor) .ccc-v2-footer-small .elementor-heading-title { color:#66665f; }
body.elementor-page .ccc-v4-footer-title .elementor-heading-title { color:var(--ccc-white); }
body.elementor-page .ccc-v2-footer-list .elementor-icon-list-text,
body.elementor-page .ccc-v2-footer-list .elementor-icon-list-icon,
body.elementor-page .ccc-v2-contact-list .elementor-icon-list-text,
body.elementor-page .ccc-v2-contact-list .elementor-icon-list-icon { color:#a09f98; }
body.elementor-page .ccc-v2-footer-list .elementor-icon-list-icon svg,
body.elementor-page .ccc-v2-contact-list .elementor-icon-list-icon svg { fill:currentColor !important; }
body.elementor-page .ccc-v2-footer-list a:hover .elementor-icon-list-text,
body.elementor-page .ccc-v2-footer-list a:hover .elementor-icon-list-icon { color:var(--ccc-yellow); }

:where(body.elementor-page .elementor) .ccc-v2-nav-button .elementor-button,
:where(body.elementor-page .elementor) .ccc-v2-header-cta .elementor-button { color:#dddcd5; background-color:transparent; box-shadow:none; }
:where(body.elementor-page .elementor) .ccc-v2-header-cta .elementor-button { color:var(--ccc-white); }
:where(body.elementor-page .elementor) .ccc-v2-nav-button .elementor-button:hover,
:where(body.elementor-page .elementor) .ccc-v2-header-cta .elementor-button:hover { color:var(--ccc-yellow); background-color:transparent; }
:where(body.elementor-page .elementor) .ccc-v2-primary-button .elementor-button,
:where(body.elementor-page .elementor) .ccc-v2-floating-whatsapp .elementor-button { color:var(--ccc-ink); background-color:var(--ccc-yellow); }
:where(body.elementor-page .elementor) .ccc-v2-primary-button .elementor-button:hover,
:where(body.elementor-page .elementor) .ccc-v2-floating-whatsapp .elementor-button:hover { color:var(--ccc-ink); background-color:#ffe91a; }
:where(body.elementor-page .elementor) .ccc-v2-ghost-button .elementor-button { color:var(--ccc-white); background-color:rgba(0,0,0,.08); border-color:rgba(255,255,255,.55); }
:where(body.elementor-page .elementor) .ccc-v2-ghost-button .elementor-button:hover { color:var(--ccc-white); background-color:rgba(255,255,255,.09); }
:where(body.elementor-page .elementor) .ccc-v2-text-link .elementor-button { color:var(--ccc-ink); background-color:transparent; }

body.admin-bar.elementor-page .ccc-v2-hero { min-height:calc(100svh - var(--wp-admin--admin-bar--height,32px)); }
body.admin-bar.elementor-page .ccc-v2-hero-content { min-height:calc(100svh - 96px - var(--wp-admin--admin-bar--height,32px)); }

/*
 * Structural layout locks
 *
 * Elementor Kits can inject container flex-basis variables after the page has
 * been imported. Explicit grids keep every approved column proportion stable
 * while each child remains independently editable in Elementor.
 */
.ccc-v2-trust-inner.e-con { display:grid !important; grid-template-columns:210px minmax(0,1fr); gap:48px; align-items:center !important; }
.ccc-v2-trust-logos.e-con { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; align-items:center !important; }
.ccc-v2-section-head.e-con { display:grid !important; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:90px; align-items:end !important; }
.ccc-v2-services-grid.e-con { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ccc-v2-about-inner.e-con { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,.88fr); gap:105px; align-items:center !important; }
.ccc-v2-about-stats.e-con { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ccc-v2-process-head.e-con { display:grid !important; grid-template-columns:minmax(0,.35fr) minmax(0,1.65fr); gap:50px; }
.ccc-v2-process-grid.e-con { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); }
.ccc-v3-portfolio-head.e-con { display:grid !important; grid-template-columns:minmax(0,.35fr) minmax(0,1.65fr); gap:50px; }
.ccc-v3-projects-showcase.e-con { display:grid !important; grid-template-columns:repeat(12,minmax(0,1fr)); gap:72px 20px; }
.ccc-v3-project-wide { grid-column:span 8; }
.ccc-v3-project-standard { grid-column:span 4; }
.ccc-v3-project-half { grid-column:span 6; }
.ccc-v3-project-full { grid-column:1 / -1; }
.ccc-v3-testimonials-grid.e-con { display:grid !important; grid-template-columns:minmax(0,.72fr) repeat(2,minmax(0,1fr)); gap:18px; align-items:stretch !important; }
.ccc-v2-contact-inner.e-con { display:grid !important; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:110px; align-items:end !important; }
.ccc-v2-footer-top.e-con { display:grid !important; grid-template-columns:minmax(0,1.3fr) minmax(0,.55fr) minmax(0,1fr) minmax(0,.65fr); gap:60px; align-items:start !important; }

.ccc-v2-trust-inner.e-con>.ccc-v2-trust-title,
.ccc-v2-trust-inner.e-con>.ccc-v2-trust-logos,
.ccc-v2-section-head.e-con>.ccc-v2-head-main,
.ccc-v2-section-head.e-con>.ccc-v2-section-description,
.ccc-v2-about-inner.e-con>.ccc-v2-about-copy,
.ccc-v2-about-inner.e-con>.ccc-v2-about-media,
.ccc-v2-process-head.e-con>.ccc-v2-index,
.ccc-v2-process-head.e-con>.ccc-v2-process-heading,
.ccc-v3-portfolio-head.e-con>.ccc-v2-index,
.ccc-v3-portfolio-head.e-con>.ccc-v3-portfolio-copy,
.ccc-v3-testimonials-grid.e-con>.ccc-v3-testimonial-intro,
.ccc-v3-testimonials-grid.e-con>.ccc-v3-testimonial-card,
.ccc-v2-contact-inner.e-con>.ccc-v2-contact-title-col,
.ccc-v2-contact-inner.e-con>.ccc-v2-contact-actions,
.ccc-v2-footer-top.e-con>.ccc-v2-footer-brand-col,
.ccc-v2-footer-top.e-con>.ccc-v4-footer-column { width:100% !important; max-width:100%; min-width:0 !important; flex:none !important; }

.ccc-v2-services-grid.e-con>.ccc-v2-service-card,
.ccc-v2-trust-logos.e-con>.ccc-v2-client-logo,
.ccc-v2-about-stats.e-con>.ccc-v2-stat,
.ccc-v2-process-grid.e-con>.ccc-v2-process-step,
.ccc-v3-projects-showcase.e-con>.ccc-v3-showcase-project { width:100% !important; max-width:100%; min-width:0 !important; flex:none !important; }

@media (max-width:1024px) {
    .ccc-v2-hero { background-attachment:scroll !important; }
    .ccc-v2-services-grid.e-con { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ccc-v2-service-card { min-height:500px; }
    .ccc-v2-about-inner.e-con { gap:55px; }
    .ccc-v2-featured-inner { gap:42px; }
    .ccc-v3-project-wide,.ccc-v3-project-standard,.ccc-v3-project-half { grid-column:span 6; }
    .ccc-v3-project-standard .ccc-v3-showcase-image img { aspect-ratio:1.185; }
    .ccc-v3-testimonials-grid.e-con { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ccc-v3-testimonial-intro { grid-column:1 / -1; min-height:250px; }
    .ccc-v2-footer-top.e-con { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767px) {
    .ccc-v2-shell.e-con { width:min(100% - 32px,620px); }
    .ccc-v2-header { min-height:78px; }
    .ccc-v2-brand-name,.ccc-v2-nav { display:none !important; }
    .ccc-v2-header-cta .elementor-button { font-size:10px; }
    .ccc-v2-hero { min-height:760px; background-position:58% center !important; }
    .ccc-v2-hero::before { background:linear-gradient(90deg,rgba(7,7,6,.88),rgba(7,7,6,.42)); }
    .ccc-v2-hero-content { min-height:682px; padding-block:65px 30px; }
    .ccc-v2-hero-copy { width:100%; }
    .ccc-v2-hero-title .elementor-heading-title { font-size:clamp(49px,15vw,70px); }
    .ccc-v2-hero-lead p { font-size:14px; }
    .ccc-v2-hero-actions { width:100% !important; align-items:stretch !important; flex-direction:column !important; }
    .ccc-v2-primary-button,.ccc-v2-ghost-button { width:100% !important; }
    .ccc-v2-hero-footnote { align-items:flex-start !important; flex-direction:column !important; gap:8px; }
    .ccc-v2-trust-inner.e-con { grid-template-columns:minmax(0,1fr); align-items:start !important; gap:24px; padding-block:28px; }
    .ccc-v2-trust-logos.e-con { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    .ccc-v2-trust-title { width:100% !important; flex:0 0 auto; }
    .ccc-v2-trust-logos { width:100%; flex-wrap:wrap; gap:20px; }
    .ccc-v2-client-logo { width:calc(33.333% - 14px) !important; }
    .ccc-v2-client-logo img { max-width:92px; }
    .ccc-v2-services,.ccc-v2-about { padding-block:90px !important; }
    .ccc-v2-section-head.e-con,.ccc-v2-about-inner.e-con,.ccc-v2-process-head.e-con,.ccc-v3-portfolio-head.e-con,.ccc-v3-testimonials-grid.e-con,.ccc-v2-contact-inner.e-con,.ccc-v2-footer-top.e-con { grid-template-columns:minmax(0,1fr); align-items:stretch !important; gap:42px; }
    .ccc-v2-faq-inner.e-con { grid-template-columns:minmax(0,1fr); gap:42px; }
    .ccc-v2-head-main,.ccc-v2-section-description,.ccc-v2-about-copy,.ccc-v2-about-media,.ccc-v2-process-head>.ccc-v2-index,.ccc-v2-process-heading,.ccc-v2-portfolio-head>.ccc-v2-index,.ccc-v2-portfolio-head-copy,.ccc-v2-testimonial-title-col,.ccc-v2-testimonial-quote,.ccc-v2-faq-title-col,.ccc-v2-faq-accordion,.ccc-v2-contact-title-col,.ccc-v2-contact-actions { width:100%; flex:none; }
    .ccc-v2-section-title .elementor-heading-title,.ccc-v2-about-title .elementor-heading-title,.ccc-v2-process-heading .elementor-heading-title,.ccc-v2-portfolio-title .elementor-heading-title,.ccc-v2-testimonial-title .elementor-heading-title,.ccc-v2-faq-title .elementor-heading-title,.ccc-v2-contact-title .elementor-heading-title { font-size:43px; }
    .ccc-v2-services-grid.e-con { grid-template-columns:minmax(0,1fr); margin-top:50px; }
    .ccc-v2-service-card { width:100%; min-height:470px; }
    .ccc-v2-about-media { order:-1; }
    .ccc-v2-about-image img { aspect-ratio:.88; }
    .ccc-v2-about-stats { gap:8px; }
    .ccc-v2-stat strong { font-size:24px; }
    .ccc-v2-process { padding-block:88px !important; }
    .ccc-v2-process-grid.e-con { grid-template-columns:minmax(0,1fr); margin-top:48px; }
    .ccc-v2-process-step,.ccc-v2-process-step:first-child { width:100%; min-height:190px; padding:24px 0; border-right:0; border-bottom:1px solid rgba(17,17,15,.22); }
    .ccc-v2-process-title { margin-top:42px; }
    .ccc-v2-portfolio-intro { padding-block:90px 55px !important; }
    .ccc-v2-featured { padding-block:52px !important; }
    .ccc-v2-featured-inner { align-items:stretch !important; flex-direction:column !important; gap:30px; }
    .ccc-v2-featured-two .ccc-v2-featured-inner { flex-direction:column-reverse !important; }
    .ccc-v2-featured-inner>.ccc-v2-featured-image,.ccc-v2-featured-inner>.ccc-v2-featured-copy,.ccc-v2-featured-two .ccc-v2-featured-inner>.ccc-v2-featured-copy,.ccc-v2-featured-two .ccc-v2-featured-inner>.ccc-v2-featured-image { width:100%; }
    .ccc-v2-featured-copy { min-height:0; }
    .ccc-v2-featured-title .elementor-heading-title { font-size:40px; }
    .ccc-v2-project-count { margin-top:22px; padding-top:0; }
    .ccc-v2-more-projects { padding-block:70px 90px !important; }
    .ccc-v2-more-projects-grid { flex-direction:column !important; gap:46px; }
    .ccc-v2-project-card { width:100%; }
    .ccc-v3-portfolio { padding-block:90px !important; }
    .ccc-v3-portfolio-head.e-con { padding-bottom:55px; }
    .ccc-v3-portfolio-head>.ccc-v2-index,.ccc-v3-portfolio-copy { width:100%; flex:none; }
    .ccc-v3-portfolio-title .elementor-heading-title { font-size:43px; }
    .ccc-v3-projects-showcase.e-con { grid-template-columns:minmax(0,1fr); gap:46px; }
    .ccc-v3-project-wide,.ccc-v3-project-standard,.ccc-v3-project-half,.ccc-v3-project-full { grid-column:1 / -1; }
    .ccc-v3-showcase-image img,.ccc-v3-project-standard .ccc-v3-showcase-image img,.ccc-v3-project-full .ccc-v3-showcase-image img { aspect-ratio:1.185; }
    .ccc-v3-testimonials { padding-block:88px !important; }
    .ccc-v3-testimonial-intro { grid-column:auto; }
    .ccc-v3-testimonial-intro { min-height:0; padding:0 0 30px; }
    .ccc-v3-testimonial-card { min-height:420px; padding:30px; }
    .ccc-v3-testimonial-quote { margin-top:42px; }
    .ccc-v3-testimonial-quote blockquote { font-size:21px; }
    .ccc-v2-testimonial,.ccc-v2-faq,.ccc-v2-contact { padding-block:88px !important; }
    .ccc-v2-footer-top.e-con { gap:38px; }
    .ccc-v2-footer-bottom { align-items:flex-start !important; flex-direction:column !important; gap:9px; }
}
