/* ═══ AUTO-GENERATED custom.css ═══ */
/* Стиль: углы=extra-round, тени=subtle, отступы=compact, кнопки=square */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&family=Open+Sans:wght@400;500&display=swap');

:root {
    /* Акцентные цвета */
    --accent-1: #F48FB1;
    --accent-2: #00838F;
    --accent-gradient: linear-gradient(90deg, var(--accent-1), var(--accent-2));
    
    /* Шрифты */
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Open Sans', sans-serif;
    
    /* Размеры шрифтов */
    --fs-h1: 72px;
    --fs-h2: 48px;
    --fs-h3: 32px;
    --fs-body: 18px;
    
    /* Вес заголовков */
    --fw-bold: 600;
    
    /* Углы скругления */
    --radius-sm: 14px;
    --radius-md: 20px;
    --radius-lg: 28px;
    --radius-xl: 40px;
    --radius-pill: 50px;
    
    /* Тени */
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
    --shadow-md: 0 2px 8px rgba(0,0,0,0.06);
    --shadow-lg: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-xl: 0 8px 24px rgba(0,0,0,0.1);
    
    /* Отступы секций */
    --section-padding: 60px 0;
}

/* Стиль кнопок */
.btn-custom {
    border-radius: 2px;
    padding: 14px 28px;
}

/* Стиль карточек */
.icon-box, .service-card, .testimonial-card, .blog-card, .pricing-card {
    border-width: 1px;
    border-color: var(--border-color);
}

/* ═══════════════════════════════════════════ */
/* STYLE TRICKS — автогенерация приёмов      */
/* ═══════════════════════════════════════════ */

/* Trick: card-scale-hover — масштаб при наведении */
.icon-box, .service-card, .blog-card, .pricing-card, .testimonial-card {
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.icon-box:hover, .service-card:hover, .blog-card:hover, .pricing-card:hover, .testimonial-card:hover {
    transform: scale(1.04);
    box-shadow: var(--shadow-xl);
    z-index: 2;
    position: relative;
}

/* Trick: section-side-line — вертикальная линия */
.section-header {
    position: relative;
    padding-left: 24px;
}
.section-header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: var(--accent-gradient);
    border-radius: 2px;
}
.section-header.text-center {
    padding-left: 0;
}
.section-header.text-center::before {
    display: none;
}

/* Trick: accent-underline — подчёркивание h2 */
.section-title {
    display: inline-block;
    position: relative;
    padding-bottom: 14px;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--accent-gradient);
    border-radius: 2px;
}
.text-center .section-title::after {
    left: 50%;
    transform: translateX(-50%);
}

/* Trick: btn-fill-up — заливка снизу */
.btn-primary-custom {
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.btn-primary-custom::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: rgba(255,255,255,0.15);
    transition: height 0.35s ease;
    z-index: -1;
}
.btn-primary-custom:hover::before {
    height: 100%;
}

/* Trick: card-top-accent-bar — акцентная полоса сверху */
.icon-box, .service-card, .blog-card, .pricing-card, .testimonial-card {
    border-top: 4px solid var(--accent-1);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
}

/* Img: section — обтекание текстом (float blob) */
section:not(.hero-section) .col-lg-6 img, section:not(.hero-section) .col-lg-5 img {
    shape-outside: ellipse(48% 48%);
    border-radius: 60% 40% 55% 45% / 55% 45% 55% 45%;
    float: left;
    margin: 0 24px 16px 0;
    max-width: 55%;
    object-fit: cover;
}

/* Effect: divider-diamond */
main > section + section::before{content:'';display:block;width:10px;height:10px;background:var(--accent-1);transform:rotate(45deg);margin:15px auto;opacity:0.4;}

/* Effect: progress-percentage */
.progress-pct{position:fixed;bottom:20px;left:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--accent-1);background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;z-index:9990;opacity:0.6;font-family:var(--font-body);}@media(max-width:768px){.progress-pct{display:none;}}

/* Effect: stagger-cards */
.icon-box,.service-card,.blog-card,.pricing-card,.team-card{opacity:0;animation:staggerIn 0.6s ease forwards;}.row>[class*="col"]:nth-child(1) .icon-box,.row>[class*="col"]:nth-child(1) .service-card,.row>[class*="col"]:nth-child(1) .blog-card{animation-delay:0.1s;}.row>[class*="col"]:nth-child(2) .icon-box,.row>[class*="col"]:nth-child(2) .service-card,.row>[class*="col"]:nth-child(2) .blog-card{animation-delay:0.2s;}.row>[class*="col"]:nth-child(3) .icon-box,.row>[class*="col"]:nth-child(3) .service-card,.row>[class*="col"]:nth-child(3) .blog-card{animation-delay:0.3s;}.row>[class*="col"]:nth-child(4) .icon-box,.row>[class*="col"]:nth-child(4) .service-card{animation-delay:0.4s;}.row>[class*="col"]:nth-child(5) .icon-box{animation-delay:0.5s;}.row>[class*="col"]:nth-child(6) .icon-box{animation-delay:0.6s;}@keyframes staggerIn{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* Effect: deco-floating-circles */
.bg-deco{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}.bg-deco span{position:absolute;border-radius:50%;border:1px solid var(--accent-1);opacity:0.04;animation:decoFloat 18s ease-in-out infinite alternate;}@keyframes decoFloat{0%{transform:translateY(0) rotate(0deg);}100%{transform:translateY(-60px) rotate(45deg);}}