/* CraftCore 5.1.0 — Contact page, isolated from shared and location styles. */
body.page-template-page-contact,
body.page-template-page-contact-us,
body.page-contact,
body.page-contact-us{overflow-x:hidden}

.cc-contact-hero{
    position:relative;
    min-height:0;
    padding:150px 0 64px;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(2,7,12,.97) 0%,rgba(2,7,12,.92) 44%,rgba(2,7,12,.72) 100%),
        url('../images/hero.jpg') center/cover no-repeat;
}
.cc-contact-hero::before{
    content:"";
    position:absolute;
    inset:auto -180px -320px auto;
    width:720px;
    height:720px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,204,255,.16),transparent 66%);
    pointer-events:none;
}
.cc-contact-hero__grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr);
    gap:56px;
    align-items:center;
}
.cc-contact-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}
.cc-contact-eyebrow::before{content:"";width:30px;height:2px;background:currentColor}
.cc-contact-hero h1{
    max-width:760px;
    margin:18px 0 24px;
    font-size:clamp(44px,5vw,72px);
    line-height:1;
    letter-spacing:-4.5px;
}
.cc-contact-hero h1 em{display:block;color:var(--blue);font-style:normal}
.cc-contact-hero__copy>p{max-width:690px;margin:0;color:#c5d0da;font-size:19px;line-height:1.75}
.cc-contact-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.cc-contact-hero__trust{display:flex;flex-wrap:wrap;gap:12px 24px;margin:32px 0 0;padding:0;list-style:none;color:#dce5ec;font-size:13px;font-weight:800}
.cc-contact-hero__trust li{display:flex;align-items:center;gap:8px}
.cc-contact-hero__trust li::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(0,204,255,.13);color:var(--blue)}

.cc-contact-hero__panel{
    display:grid;
    gap:12px;
    padding:18px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    background:rgba(8,17,25,.82);
    box-shadow:0 28px 80px rgba(0,0,0,.38);
    backdrop-filter:blur(16px);
}
.cc-contact-method{
    display:grid;
    grid-template-columns:54px 1fr;
    gap:16px;
    align-items:center;
    min-width:0;
    padding:20px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    background:rgba(255,255,255,.035);
    transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.cc-contact-method:hover{transform:translateY(-3px);border-color:rgba(0,204,255,.45);background:rgba(0,204,255,.07)}
.cc-contact-method__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:rgba(0,204,255,.12);color:var(--blue);font-size:23px;font-style:normal}
.cc-contact-method--whatsapp .cc-contact-method__icon{background:rgba(37,211,102,.13);color:#38dd78}
.cc-contact-method span:last-child{min-width:0}
.cc-contact-method small,.cc-contact-method strong,.cc-contact-method em{display:block}
.cc-contact-method small{margin-bottom:3px;color:#7990a1;font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.cc-contact-method strong{overflow-wrap:anywhere;color:#fff;font-size:17px;line-height:1.3}
.cc-contact-method em{margin-top:4px;color:#9eb0bd;font-size:12px;font-style:normal}

.cc-contact-main{padding:110px 0;background:#f4f8fb;color:#07111a}
.cc-contact-main__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:52px;align-items:start}
.cc-contact-form-card,.cc-contact-guide{border:1px solid #dce6ed;border-radius:30px;background:#fff;box-shadow:0 22px 65px rgba(11,33,49,.09)}
.cc-contact-form-card{padding:44px}
.cc-contact-heading h2{margin:12px 0 14px;color:#07111a;font-size:clamp(34px,4vw,54px);line-height:1.06;letter-spacing:-2px}
.cc-contact-heading>p{max-width:720px;margin:0;color:#526778;font-size:16px}
.cc-contact-heading--center{text-align:center}
.cc-contact-heading--center .cc-contact-eyebrow{justify-content:center}
.cc-contact-heading--center>p{margin-inline:auto}
.cc-contact-form{display:grid;gap:20px;margin-top:32px}
.cc-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cc-contact-form label{display:grid;gap:8px;color:#203443;font-size:13px;font-weight:900}
.cc-contact-form label>span small{color:#8293a0;font-weight:700}
.cc-contact-form input,.cc-contact-form select,.cc-contact-form textarea{
    width:100%;
    min-height:56px;
    padding:14px 16px;
    border:1px solid #cfdbe3;
    border-radius:14px;
    outline:0;
    background:#f9fbfc;
    color:#07111a;
    font:inherit;
    font-weight:600;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.cc-contact-form textarea{min-height:132px;resize:vertical;line-height:1.55}
.cc-contact-form input:focus,.cc-contact-form select:focus,.cc-contact-form textarea:focus{border-color:#00aacf;background:#fff;box-shadow:0 0 0 4px rgba(0,204,255,.12)}
.cc-contact-form__error{display:none;margin:0;padding:12px 14px;border-radius:12px;background:#fff0f0;color:#9d1f1f;font-size:13px;font-weight:800}
.cc-contact-form__error.is-visible{display:block}
.cc-contact-form__submit{width:100%;border:0;cursor:pointer}
.cc-contact-form__privacy{margin:0;color:#718491;font-size:12px;line-height:1.55;text-align:center}

.cc-contact-guide{position:sticky;top:120px;padding:38px}
.cc-contact-guide h2{margin:12px 0 13px;color:#07111a;font-size:36px;line-height:1.08;letter-spacing:-1.5px}
.cc-contact-guide>p{margin:0;color:#607483}
.cc-contact-guide__list{display:grid;gap:0;margin:28px 0 0;padding:0;list-style:none}
.cc-contact-guide__list li{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:20px 0;border-top:1px solid #e2e9ee}
.cc-contact-guide__list li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eafaff;color:#008eb3;font-size:12px;font-weight:950}
.cc-contact-guide__list strong{display:block;color:#102330;font-size:15px}
.cc-contact-guide__list p{margin:4px 0 0;color:#697c89;font-size:13px;line-height:1.55}
.cc-contact-guide__note{margin-top:6px;padding:20px;border-radius:18px;background:#07111a;color:#fff}
.cc-contact-guide__note strong{display:block;color:var(--blue)}
.cc-contact-guide__note p{margin:6px 0 0;color:#c2ced7;font-size:13px}

.cc-contact-process{padding:105px 0;background:#07111a}
.cc-contact-process .cc-contact-heading h2{color:#fff}
.cc-contact-process__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
.cc-contact-process article{position:relative;min-height:245px;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.035)}
.cc-contact-process article>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:34px;border-radius:15px;background:rgba(0,204,255,.12);color:var(--blue);font-weight:950}
.cc-contact-process h3{margin:0 0 10px;font-size:21px;line-height:1.2}
.cc-contact-process p{margin:0;color:#a9bac6;font-size:14px}

.cc-contact-faq{padding:105px 0;background:#fff;color:#07111a}
.cc-contact-faq__grid{display:grid;grid-template-columns:.65fr 1fr;gap:80px;align-items:start}
.cc-contact-faq__items{display:grid;gap:12px}
.cc-contact-faq .cc-faq-item{border:1px solid #dae5ec;border-radius:18px;background:#f8fbfc;overflow:hidden}
.cc-contact-faq .cc-faq-item summary{position:relative;padding:22px 58px 22px 22px;cursor:pointer;color:#102431;font-size:15px;font-weight:900;list-style:none}
.cc-contact-faq .cc-faq-item summary::-webkit-details-marker{display:none}
.cc-contact-faq .cc-faq-item summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:#008fb5;font-size:24px;font-weight:500}
.cc-contact-faq .cc-faq-item[open] summary::after{content:"−"}
.cc-contact-faq .cc-faq-item div{padding:0 22px 22px}
.cc-contact-faq .cc-faq-item p{margin:0;color:#5c7180;font-size:14px;line-height:1.7}

.cc-contact-final{padding:72px 0;background:linear-gradient(135deg,#009ac2,#00ccff);color:#001017}
.cc-contact-final__inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.cc-contact-final .cc-contact-eyebrow{color:#003e4e}
.cc-contact-final h2{margin:8px 0 6px;font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-2px}
.cc-contact-final p{margin:0;color:#064455;font-weight:700}
.cc-contact-final__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.cc-contact-final .btn.primary{background:#06121b;color:#fff}
.cc-contact-final .btn.ghost{border-color:rgba(0,24,32,.35);color:#06121b}

@media (max-width:1050px){
    .cc-contact-hero{min-height:0;padding:165px 0 68px}
    .cc-contact-hero__grid{grid-template-columns:1fr;gap:56px;align-content:start}
    .cc-contact-main__grid{grid-template-columns:1fr}
    .cc-contact-guide{position:static}
    .cc-contact-faq__grid{grid-template-columns:1fr;gap:40px}
}

@media (max-width:760px){
    .cc-contact-hero{min-height:auto;padding:155px 0 72px}
    .cc-contact-hero h1{font-size:clamp(44px,5vw,72px);letter-spacing:-3px}
    .cc-contact-hero__copy>p{font-size:16px}
    .cc-contact-hero__actions,.cc-contact-final__actions{display:grid;grid-template-columns:1fr;width:100%}
    .cc-contact-hero__actions .btn,.cc-contact-final__actions .btn{width:100%;justify-content:center}
    .cc-contact-hero__panel{grid-template-columns:1fr;padding:12px;border-radius:22px}
    .cc-contact-method{grid-template-columns:48px 1fr;padding:16px}
    .cc-contact-method__icon{width:48px;height:48px}
    .cc-contact-main,.cc-contact-process,.cc-contact-faq{padding:74px 0}
    .cc-contact-form-card,.cc-contact-guide{padding:25px;border-radius:22px}
    .cc-contact-form__row{grid-template-columns:1fr}
    .cc-contact-process__grid{grid-template-columns:1fr}
    .cc-contact-process article{min-height:0}
    .cc-contact-final{padding:58px 0}
    .cc-contact-final__inner{display:grid}
    .cc-contact-final__actions{justify-content:stretch}
}

@media (max-width:480px){
    .cc-contact-hero__trust{display:grid;gap:10px}
    .cc-contact-heading h2,.cc-contact-guide h2{letter-spacing:-1.3px}
    .cc-contact-form-card,.cc-contact-guide{padding:21px}
}

/* =========================================================
   CraftCore v1.1.1 — contact hero content-height correction
   The shared hero guardrails previously forced this section to
   100svh. The contact hero contains a compact two-column layout,
   so it should end after the panel rather than filling the screen.
   ========================================================= */
.cc-contact-hero{
    min-height:auto !important;
    height:auto !important;
    padding:145px 0 52px !important;
}

@media (min-width:1081px) and (min-height:851px){
    .cc-contact-hero{
        min-height:auto !important;
        padding:158px 0 58px !important;
    }
}

@media (max-width:1080px){
    .cc-contact-hero{
        min-height:auto !important;
        padding:132px 0 58px !important;
    }
}

@media (max-width:760px){
    .cc-contact-hero{
        min-height:auto !important;
        padding:118px 0 54px !important;
    }
}


/* v1.1.2 — Fit the desktop contact hero inside the visible first screen.
   The combined top bar and navigation occupy roughly 154px, so the hero
   uses the remaining viewport and centres its grid with balanced padding. */
@media (min-width:1081px){
    .cc-contact-hero{
        min-height:calc(100svh - 154px) !important;
        padding:clamp(30px,4.8vh,56px) 0 !important;
        display:flex !important;
        align-items:center !important;
    }
    .cc-contact-hero > .container{width:100%}
}
@media (min-width:1081px) and (max-height:850px){
    .cc-contact-hero{
        min-height:calc(100svh - 154px) !important;
        padding:26px 0 !important;
    }
}

/* =========================================================
   CraftCore v1.1.4 — contact hero matched to homepage hero system
   Uses the same viewport height, header clearance and vertical rhythm
   as the front-page hero while allowing compact screens to remain usable.
   ========================================================= */
@media (min-width:1081px){
    .cc-contact-hero{
        min-height:100svh !important;
        height:auto !important;
        padding:0 !important;
        display:flex !important;
        align-items:stretch !important;
    }
    .cc-contact-hero > .container{
        width:100%;
        display:flex;
    }
    .cc-contact-hero__grid{
        width:100%;
        align-items:center !important;
        padding-top:clamp(154px,17vh,184px);
        padding-bottom:clamp(54px,7vh,78px);
    }
}

@media (min-width:1081px) and (max-height:850px){
    .cc-contact-hero__grid{
        padding-top:138px;
        padding-bottom:38px;
        gap:40px !important;
    }
    .cc-contact-hero h1{
        margin-block:13px 18px !important;
        font-size:clamp(3.1rem,4.45vw,4.25rem) !important;
    }
    .cc-contact-hero__copy > p{
        font-size:1rem;
        line-height:1.58;
    }
    .cc-contact-hero__actions,
    .cc-contact-hero__trust{
        margin-top:20px;
    }
    .cc-contact-hero__panel{
        padding:14px;
        gap:10px;
    }
    .cc-contact-method{
        padding:16px;
    }
}

@media (max-width:1080px){
    .cc-contact-hero{
        min-height:auto !important;
        padding:132px 0 58px !important;
        display:block !important;
    }
    .cc-contact-hero__grid{
        padding:0 !important;
    }
}


/* 11.2.4 — service FAQ mobile hierarchy */
@media (max-width: 760px){
  .cc-faq h2,.cc-faq__intro h2,.faq-section h2,.service-faq h2,
  [class*="faq"] h2{
    font-size:clamp(34px,10vw,46px) !important;
    line-height:1.02 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}
