/* Premium CV-builder hero image */
.ftr-hero{overflow:hidden}
.ftr-hero-inner{align-items:center}
.ftr-hero-visual{
    position:relative;width:min(100%,650px);min-height:620px;
    display:flex;align-items:center;justify-content:center;isolation:isolate
}
.ftr-hero-visual-glow{
    position:absolute;width:72%;height:72%;left:14%;top:14%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(64,132,255,.16) 0%,rgba(64,132,255,.06) 40%,transparent 72%);
    filter:blur(18px);z-index:-1
}
.ftr-cv-builder-image{
    display:block;width:100%;max-width:650px;height:auto;object-fit:contain;
    filter:drop-shadow(0 28px 45px rgba(20,46,82,.14));
    transform:translateY(8px);
    transition:transform .45s ease,filter .45s ease
}
.ftr-cv-builder-image:hover{
    transform:translateY(0) scale(1.015);
    filter:drop-shadow(0 34px 52px rgba(20,46,82,.18))
}
@media (min-width:1200px){
    .ftr-hero-visual{min-height:680px}
    .ftr-cv-builder-image{max-width:690px}
}
@media (max-width:991px){
    .ftr-hero-inner{grid-template-columns:1fr}
    .ftr-hero-copy{text-align:center;max-width:760px;margin-inline:auto}
    .ftr-hero-actions,.ftr-proof{justify-content:center}
    .ftr-hero-visual{width:min(100%,700px);min-height:auto;margin:20px auto 0}
}
@media (max-width:600px){
    .ftr-hero-visual{min-height:0;margin-top:12px}
    .ftr-cv-builder-image{width:108%;max-width:none;margin-left:-4%}
}
.ftr-hero .ftr-cv-builder-image{max-height:none!important}

/* ------------------------------------------------------------------
   Demo CV templates
   ------------------------------------------------------------------ */
.ftr-template-grid{align-items:stretch}
.ftr-demo-card{position:relative;overflow:hidden;background:#fff;border:1px solid #dbe3ee;border-radius:18px;box-shadow:0 12px 35px rgba(20,46,82,.07);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.ftr-demo-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(20,46,82,.13);border-color:#9dbff8}
.ftr-demo-card.featured{border:2px solid #3b82f6;box-shadow:0 18px 45px rgba(59,130,246,.13)}
.ftr-demo-preview{position:relative;margin:18px 18px 0;height:465px;overflow:hidden;background:#fff;border:1px solid #dfe6ef;box-shadow:0 5px 18px rgba(20,46,82,.05);font-family:Arial,Helvetica,sans-serif;color:#172033}
.ftr-demo-info{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px 21px}
.ftr-demo-info h3{margin:0 0 5px;font-size:21px;line-height:1.2;color:#172033}
.ftr-demo-info p{margin:0;color:#71809a;font-size:14px;line-height:1.5}
.ftr-demo-info a{flex:none;font-size:13px;font-weight:700;color:#2475ed;text-decoration:none;white-space:nowrap}
.ftr-demo-info a:hover{text-decoration:underline}
.ftr-demo-badge{position:absolute;right:27px;top:27px;z-index:5;padding:6px 9px;border-radius:999px;background:#efa513;color:#172033;font-size:9px;font-weight:800;letter-spacing:.08em}
.demo-name{font-weight:800;letter-spacing:.06em;font-size:17px}
.demo-role{font-size:8px;font-weight:700;letter-spacing:.16em;margin-top:4px}
.demo-contact{font-size:6px;color:#748096;margin-top:9px}
.demo-section-title{font-size:7px;font-weight:800;letter-spacing:.18em;margin:18px 0 8px;color:#234b7d}
.demo-lines{display:grid;gap:6px}.demo-lines i,.demo-two-line i{display:block;height:5px;border-radius:3px;background:#e2e8f0}.demo-lines i:nth-child(2){width:92%}.demo-lines i:nth-child(3){width:84%}.demo-lines.short i:nth-child(3){width:70%}
.demo-lines.short{margin-bottom:4px}
.demo-exec-top{padding:30px 27px 22px;background:#173b67;color:#fff}
.demo-exec-top .demo-role{color:#c9dcf6}.demo-exec-top .demo-contact{color:#d7e3f2}
.demo-exec-body{display:grid;grid-template-columns:1.55fr .85fr;gap:25px;padding:0 27px}
.demo-main strong,.demo-side strong,.demo-modern-body strong,.demo-minimal-body strong{display:block;font-size:8px;line-height:1.3;margin-bottom:2px}.demo-main small,.demo-side small,.demo-modern-body small,.demo-minimal-body small{display:block;font-size:6px;color:#7b8798}
.demo-side{border-left:1px solid #e0e6ee;padding-left:18px}.demo-pill{display:inline-block;padding:5px 6px;margin:0 3px 4px 0;border:1px solid #dbe3ec;border-radius:4px;font-size:6px;color:#50627b}
.demo-modern-head{display:flex;align-items:center;gap:12px;padding:30px 27px 20px;background:#f5f8fc}.demo-modern-avatar{width:42px;height:42px;border-radius:50%;background:#dce8f7;display:grid;place-items:center;font-size:11px;font-weight:800;color:#204d7e}.demo-modern-rule{height:3px;background:#3b82f6;margin:0 27px}.demo-modern-body{display:grid;grid-template-columns:1.45fr .85fr;gap:24px;padding:0 27px}.demo-modern-body aside{border-left:1px solid #e2e7ee;padding-left:18px}.demo-meter{height:6px;background:#e5eaf0;border-radius:5px;margin-bottom:8px;overflow:hidden}.demo-meter span{display:block;height:100%;background:#3b82f6;border-radius:5px}
.demo-minimal-head{text-align:left;padding:32px 27px 18px}.demo-minimal-head .demo-name{font-size:20px}.demo-minimal-head .demo-role{color:#3b82f6}.demo-minimal-rule{height:1px;background:#172033;margin:0 27px}.demo-minimal-body{padding:0 27px}.demo-two-line{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:7px}
.ftr-template-cta{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:34px;padding:18px 22px;border:1px solid #d9e3ef;border-radius:14px;background:linear-gradient(90deg,#f8fbff,#fff);color:#64738a;font-size:15px}.ftr-template-cta .ftr-primary-button{margin:0}
@media(max-width:1100px){.ftr-demo-preview{height:430px}.ftr-demo-info{align-items:flex-start;flex-direction:column}.ftr-demo-info a{margin-top:3px}.ftr-template-cta{flex-direction:column;text-align:center}}
@media(max-width:767px){.ftr-demo-preview{height:420px;margin:14px 14px 0}.demo-exec-body,.demo-modern-body{grid-template-columns:1fr;gap:0}.demo-side,.demo-modern-body aside{display:none}.ftr-demo-info{padding:16px 17px 18px}.ftr-demo-info h3{font-size:19px}.ftr-template-cta{margin:25px 10px 0}.ftr-template-cta .ftr-primary-button{width:100%;justify-content:center}.ftr-demo-badge{right:22px;top:21px}}

/* ------------------------------------------------------------------
   Five-step CV creation process
   ------------------------------------------------------------------ */
.ftr-process-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    position:relative;
    margin-top:42px;
}
.ftr-process-grid:before{
    content:"";
    position:absolute;
    left:8%;
    right:8%;
    top:31px;
    height:1px;
    background:linear-gradient(90deg,#dce5f0,#b9cbe1,#dce5f0);
    z-index:0;
}
.ftr-process-step{
    position:relative;
    z-index:1;
    padding:0 24px 10px;
    text-align:left;
}
.ftr-process-number{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin:0 auto 18px;
    border:1px solid #d8e3f0;
    border-radius:50%;
    background:#f7faff;
    color:#2879f4;
    font-size:14px;
    font-weight:800;
    letter-spacing:.08em;
    box-shadow:0 7px 20px rgba(30,67,110,.08);
}
.ftr-process-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    margin:0 0 17px;
    border-radius:13px;
    background:#edf5ff;
    color:#2879f4;
    font-size:21px;
    box-shadow:inset 0 0 0 1px #d9e8fb;
}
.ftr-process-icon span{line-height:1}
.ftr-process-step h3{
    margin:0 0 10px;
    color:#172033;
    font-size:18px;
    line-height:1.3;
}
.ftr-process-step p{
    margin:0;
    color:#71809a;
    font-size:14px;
    line-height:1.65;
}
.ftr-process-step p strong{color:#40516b;font-weight:700}
.ftr-process-step a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:16px;
    color:#2879f4;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}
.ftr-process-step a span{transition:transform .2s ease}
.ftr-process-step a:hover span{transform:translateX(4px)}
.ftr-process-step:hover .ftr-process-number{
    border-color:#8ebcff;
    background:#eef6ff;
    transform:translateY(-3px);
}
.ftr-process-number{transition:transform .25s ease,border-color .25s ease,background .25s ease}
.ftr-process-bottom{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    margin:46px auto 0;
    padding:16px 20px;
    width:min(760px,100%);
    border:1px solid #d9e4f0;
    border-radius:16px;
    background:linear-gradient(100deg,#f8fbff,#fff);
    box-shadow:0 10px 30px rgba(28,57,91,.05);
}
.ftr-process-check{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:50%;
    background:#e7f8ef;
    color:#17a765;
    font-weight:900;
}
.ftr-process-bottom div{display:flex;flex-direction:column;gap:2px;margin-right:10px}
.ftr-process-bottom strong{font-size:15px;color:#172033}
.ftr-process-bottom small{font-size:12px;color:#78869b}
.ftr-process-bottom .ftr-primary-button{margin:0;flex:none}

@media(max-width:1150px){
    .ftr-process-grid{grid-template-columns:repeat(3,1fr);row-gap:42px}
    .ftr-process-grid:before{display:none}
    .ftr-process-step{padding:0 20px}
}
@media(max-width:767px){
    .ftr-process-grid{grid-template-columns:1fr;gap:0}
    .ftr-process-step{display:grid;grid-template-columns:58px 1fr;column-gap:16px;padding:0 0 28px;text-align:left}
    .ftr-process-number{grid-row:1 / span 4;width:58px;height:58px;margin:0}
    .ftr-process-icon{grid-column:2;margin:0 0 10px;width:42px;height:42px}
    .ftr-process-step h3,.ftr-process-step p,.ftr-process-step a{grid-column:2}
    .ftr-process-step h3{margin-bottom:7px}
    .ftr-process-step p{font-size:14px}
    .ftr-process-step a{margin-top:11px}
    .ftr-process-bottom{flex-wrap:wrap;justify-content:flex-start;margin-top:10px}
    .ftr-process-bottom div{flex:1;min-width:180px}
    .ftr-process-bottom .ftr-primary-button{width:100%;justify-content:center}
}
