/* Shared visual finish. Original content, photography and brand colours. */
.neo-modern{--content-width:1240px;--border:#e3e9dd;--soft:#f5f8f1;--shadow:0 14px 40px #1e293b0b;color:var(--ink);line-height:1.7}
.neo-modern .container{max-width:1240px}
.neo-modern .page h2.heading{font-size:clamp(27px,2.6vw,36px);font-weight:600;line-height:1.25;letter-spacing:-1px;text-wrap:balance}
.neo-modern .page h3.heading{font-size:clamp(21px,1.9vw,26px);line-height:1.45;letter-spacing:-.45px}
.neo-modern .page h4.heading{line-height:1.5}
.neo-modern .page p{line-height:1.75}
.neo-modern .page p:last-child{margin-bottom:0}
.neo-modern .page .heading .text-green{font-weight:650}
.neo-modern .site-header{background:transparent;box-shadow:none}
.neo-modern .header-top{min-height:108px;max-width:1304px;padding:12px 32px;gap:24px}
.neo-modern .brand img{width:145px}
.neo-modern .button{min-height:50px;border:1px solid transparent;border-radius:12px;padding:15px 22px;background:var(--green);color:var(--ink);box-shadow:0 4px 10px #1e293b0b;text-shadow:none;line-height:1.35;font-size:15px;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s}
.neo-modern .button:hover,.neo-modern .button:focus-visible{color:var(--ink);background:#afd139;box-shadow:0 7px 18px #1e293b15;transform:translateY(-2px)}
.neo-modern .order-button{gap:20px;font-size:16px;white-space:normal;max-width:330px;padding:14px 22px;border:1px solid #c5df77;box-shadow:0 6px 24px #0002;text-align:left}
.neo-modern .order-copy{display:flex;flex-direction:column;gap:4px}
.neo-modern .order-time{font-size:13px;font-weight:600}
.neo-modern .order-arrow{font-size:24px;line-height:1;flex-shrink:0}
.neo-modern .header-actions>.button:not(.whatsapp){background:#ffffff12;color:white;border-color:#ffffff60;box-shadow:none}
.neo-modern:has(.page-1405) .header-actions>.button:not(.whatsapp){color:var(--ink);border-color:var(--border)}
.neo-modern .page .hero-order{justify-content:space-between;max-width:450px;min-height:78px;font-size:20px;padding:18px 24px}
.neo-modern .hero-order .order-time{font-size:15px}
.neo-modern .page-home .section-hero .layout-7 .button{background:#ffffff12;color:white;border-color:#ffffff80;box-shadow:none}
.neo-modern .page-home .section-hero .layout-7 .button:hover{background:white;color:var(--ink)}
.neo-modern .header-actions{gap:12px}.neo-modern .whatsapp{background:var(--soft);border-color:var(--border);font-size:13px;box-shadow:none}.neo-modern .whatsapp img{width:25px;height:25px}
.neo-modern .whatsapp img{filter:brightness(0);opacity:.7}
.neo-modern .header-actions .whatsapp{background:#ffffff12;border-color:#ffffff60;color:white}
.neo-modern .header-actions .whatsapp img{filter:none;opacity:1}
.neo-modern:has(.page-1405) .header-actions .whatsapp{background:var(--soft);border-color:var(--border);color:var(--ink)}
.neo-modern:has(.page-1405) .header-actions .whatsapp img{filter:brightness(0);opacity:.7}
.neo-modern #main-navigation{background:#9ac31bda}
.neo-modern #main-navigation>ul{min-height:55px;max-width:1304px;padding:0 20px;justify-content:space-between;gap:0}
.neo-modern #main-navigation a{color:var(--ink);font-size:13px;letter-spacing:0;padding:17px 6px;line-height:1.5;font-weight:650}
.neo-modern #main-navigation li>ul{min-width:290px;width:330px;border:1px solid var(--border);background:white;border-radius:0 0 16px 16px;padding:8px;box-shadow:0 18px 36px #1e293b18}
.neo-modern #main-navigation li>ul a{font-size:14px;padding:12px 14px;line-height:1.5;border-radius:8px}
.neo-modern #main-navigation a:hover,.neo-modern #main-navigation a:focus-visible{color:var(--ink);background:#ffffff40}
.neo-modern #main-navigation li>ul a:hover{background:var(--soft)}
.neo-modern .submenu-toggle{color:var(--ink);font-size:17px;padding-right:5px}
.neo-modern .menu-toggle{border-radius:10px;box-shadow:none;color:var(--ink)}

/* Generous sections, with a stable centred media column. */
.neo-modern .page>.section-content{padding:88px 32px;--column-gap:64px;--row-gap:32px}
.neo-modern .page .section-hero{padding:208px 32px 96px;--content-width:1240px;--shade:1}
.neo-modern .page .section-hero::before{background:linear-gradient(90deg,#122133d9 0%,#1e293b99 45%,#1e293b18 100%);opacity:1}
.neo-modern .section-hero h1.heading{max-width:25ch;font-size:clamp(34px,3vw,44px);font-weight:600;letter-spacing:-1.5px;line-height:1.16;text-wrap:balance;color:white}
.neo-modern .section-hero p.heading{max-width:62ch;font-size:17px;line-height:1.7;color:#f7fafc}
.neo-modern .section-hero .layout{--row-gap:16px}
.neo-modern .section-hero .layout:has(>.content-block>.icon-wrap){background:#ffffff10;border-color:#ffffff40;border-radius:10px}
.neo-modern .section-hero .icon-wrap .icon,.neo-modern .section-hero .icon-wrap .icon svg{font-size:26px;height:26px}
.neo-modern .section-hero .layout:has(>.content-block>.icon-wrap) p.heading{font-size:14px}
.neo-modern .page .button{padding:15px 22px}
.neo-modern .page .button-secondary{background:#ffffff12;color:white;border-color:#ffffff80;box-shadow:none}
.neo-modern .page .button-secondary:hover{background:white;color:var(--ink)}
.neo-modern .section-hero .button[href^="tel:"]{font-size:25px;font-weight:650;min-height:62px}
.neo-modern .page>.section-proof{padding:0 32px}
.neo-modern .page .proof-grid{padding:30px 20px;background:white;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);margin-top:-54px;--column-gap:0;--row-gap:24px}
.neo-modern .proof-grid>.layout{gap:9px;padding:4px 14px;transform:none}
.neo-modern .proof-grid>.layout+.layout{border-left:1px solid var(--border)}
.neo-modern .proof-grid .content-block:first-child .heading{font-size:clamp(21px,2.2vw,29px);font-weight:650;line-height:1.25}
.neo-modern .proof-grid .content-block:last-child .heading{font-size:16px;line-height:1.4;font-weight:400;color:#53616b}
.neo-modern .page .section-about .content-block:has(>img){transform:none}
.neo-modern .page .section-about img{width:100%;max-width:440px;border-radius:24px;box-shadow:0 18px 45px #1e293b12}
.neo-modern .section-about h5.heading{max-width:440px;margin:0 auto;font-size:14px;line-height:1.6;color:#62706c}
.neo-modern .check-item{align-items:flex-start;gap:12px;padding:4px 0;line-height:1.65}
.neo-modern .check-icon{margin-top:.35em;font-size:16px;width:16px}
.neo-modern .section-services .check-item>a{align-items:flex-start;gap:12px;padding:7px 10px;width:100%;border-radius:8px;transition:background .2s,transform .2s}
.neo-modern .section-services .check-item>a:hover{background:#9ac31b12;transform:translateX(3px)}
.neo-modern .page .section-training .photo-image{border-radius:22px}
.neo-modern .page .button-training{background:var(--orange);color:white;box-shadow:0 6px 18px #ff660019;font-size:15px}
.neo-modern .page .button-training:hover{background:#e65c00;color:white}
.neo-modern .page>.section-territory{background:var(--soft);border-top:1px solid var(--border);padding-block:72px}
.neo-modern .section-territory h5{font-size:14px;font-weight:600}
.neo-modern .section-territory a:not(.button){color:#608210;font-size:14px;line-height:1.8}

/* Callback and reviews retain their existing behaviour. */
.neo-modern .page>.section-callback{padding:64px 32px;background:var(--soft);border-block:1px solid var(--border)}
.neo-modern .section-callback>.container{gap:22px}
.neo-modern .section-callback .heading-17:hover{transform:none}
.neo-modern .rotating-heading{line-height:1.5}
.neo-modern .rotating-prefix,.neo-modern .rotating-words{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.6px}
.neo-modern .callback-form{padding:28px;margin:0 0 12px;border:1px solid var(--border);border-radius:18px;background:white;box-shadow:var(--shadow)}
.neo-modern .form-grid{gap:24px;margin-bottom:22px}
.neo-modern .form-grid label{font-size:14px;padding-top:21px}
.neo-modern .form-grid label>span{left:14px;top:36px;color:#64716d}
.neo-modern .form-grid label:focus-within>span,.neo-modern .form-grid label:has(input:not(:placeholder-shown))>span{top:0;left:0;font-size:12px;color:var(--ink)}
.neo-modern .form-grid input{padding:13px 14px;border:1px solid #d9e1d2;border-radius:9px;background:#fafcf8;color:var(--ink);min-height:49px}
.neo-modern .form-grid input:focus{outline:2px solid #9ac31b60;outline-offset:2px;border-color:var(--green)}
.neo-modern .callback-form .button{min-width:150px;font-size:15px;font-weight:650;padding:12px 22px;border-radius:10px;color:var(--ink)}
.neo-modern .neo-rating-ticker .neo-rating-card{border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:none}
.neo-modern .neo-rating-carousel-controls{margin-top:20px}
.neo-modern .site-footer{background:var(--ink);border-top:4px solid var(--green);color:#e0e6e5;font-size:13px;line-height:1.8}
.neo-modern .footer-inner{max-width:1304px;padding:36px 32px;gap:40px;grid-template-columns:1.3fr .5fr 2fr;text-align:left}
.neo-modern .site-footer a{color:#e0e6e5}.neo-modern .site-footer a:hover{color:var(--lime)}
.neo-modern .social-links a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #ffffff26;border-radius:50%}
.neo-modern .social-links svg{width:17px;height:17px}
.neo-modern .footer-cities{line-height:1.9}.neo-modern .footer-cities a{font-size:12px}
.neo-modern .reveal{animation-duration:.75s}
@keyframes reveal-zoom{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes reveal-left{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes reveal-right{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes reveal-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

@media(max-width:1100px) and (min-width:922px){.neo-modern #main-navigation a{font-size:11px}.neo-modern .header-top{gap:16px}.neo-modern .header-actions .button{font-size:13px;padding:12px 15px}}
@media(max-width:921px){
 .neo-modern .header-top{display:grid;grid-template-columns:1fr auto 44px;min-height:94px;padding:12px 20px;gap:12px;border-bottom:0}.neo-modern .brand{grid-column:1;grid-row:1}.neo-modern .brand img{width:110px}
 .neo-modern .header-top>.order-button{display:inline-flex;grid-column:2;grid-row:1;max-width:260px;font-size:14px;padding:10px 14px;gap:12px}.neo-modern .menu-toggle{grid-column:3;grid-row:1;width:44px;padding:10px 0}
 .neo-modern #main-navigation>ul{padding:8px 12px}.neo-modern #main-navigation li>a{font-size:13px;line-height:1.5;padding:14px 12px;text-transform:none}
 .neo-modern .submenu-toggle{min-width:44px;min-height:44px;font-size:20px}
 .neo-modern #main-navigation li>ul{width:100%;min-width:0;padding:5px 10px;background:#ffffffd9;box-shadow:none;border:0;border-radius:10px}
 .neo-modern #main-navigation li>ul a{font-size:13px;padding:12px;line-height:1.5}
 .neo-modern .mobile-actions{gap:12px;padding:14px 24px 24px}.neo-modern #main-navigation .mobile-actions .button{font-size:13px;background:white;color:var(--ink);padding:12px 16px;line-height:1.4;width:auto;max-width:100%}
 .neo-modern .page .section-hero{padding-top:152px;padding-bottom:106px}.neo-modern .section-hero h1.heading{font-size:38px;max-width:28ch}
 .neo-modern .page>.section-content{padding:60px 24px;--column-gap:32px}
 .neo-modern .page .section-about img{max-width:330px}.neo-modern .footer-inner{grid-template-columns:1fr 1fr;gap:24px}.neo-modern .footer-cities{grid-column:1/-1}
}
@media(max-width:767px){
 .neo-modern .header-top{padding-inline:16px;gap:10px}.neo-modern .brand img{width:90px}.neo-modern .header-top>.order-button{max-width:176px;font-size:12px;padding:9px 12px;gap:8px}.neo-modern .header-top .order-time{font-size:11px}.neo-modern .header-top .order-arrow{font-size:18px}
 .neo-modern{font-size:16px;line-height:1.7}.neo-modern .page>.section-content{padding:48px 22px;--row-gap:28px}
 .neo-modern .page .section-hero{padding:140px 22px 90px}.neo-modern .section-hero h1.heading{font-size:32px;letter-spacing:-1px;max-width:100%}.neo-modern .section-hero p.heading{font-size:15px;line-height:1.7}
 .neo-modern .page h2.heading{font-size:28px;letter-spacing:-.8px}.neo-modern .page h3.heading{font-size:21px}
 .neo-modern .page>.section-proof{padding:0 16px}.neo-modern .page .proof-grid{padding:22px 8px;margin-top:-38px;border-radius:16px;--columns:repeat(2,minmax(0,1fr));--row-gap:22px}
 .neo-modern .proof-grid>.layout{padding:0 5px;gap:6px}.neo-modern .proof-grid>.layout:nth-child(3){border-left:0}.neo-modern .proof-grid .content-block:first-child .heading{font-size:20px}.neo-modern .proof-grid .content-block:last-child .heading{font-size:13px}
 .neo-modern .page .section-about img{max-width:280px}.neo-modern .section-about h5.heading{font-size:13px}
 .neo-modern .page .button{font-size:14px;padding:13px 16px;min-height:48px}.neo-modern .section-hero .button[href^="tel:"]{font-size:23px}
 .neo-modern .page .hero-order{min-height:74px;font-size:17px;padding:16px 18px}.neo-modern .hero-order .order-time{font-size:14px}
 .neo-modern .page .section-hero .layout:has(>.content-block>.button){gap:10px}
 .neo-modern .page>.section-callback{padding:42px 22px}.neo-modern .rotating-heading .rotating-prefix,.neo-modern .rotating-heading .rotating-words,.neo-modern .rotating-heading b{font-size:22px;line-height:1.4}
 .neo-modern .callback-form{padding:20px}.neo-modern .form-grid{gap:18px}.neo-modern .callback-form .button{width:100%}
 .neo-modern .neo-rating-ticker .neo-rating-card{padding:22px}.neo-modern .footer-inner{grid-template-columns:1fr;text-align:center;padding:32px 24px;gap:24px}
 .neo-modern .page>.section-territory{padding-block:48px}
}
@media(max-width:359px){.neo-modern .header-top{padding-inline:12px;gap:8px}.neo-modern .brand img{width:72px}.neo-modern .header-top>.order-button{max-width:164px;padding:9px 10px}.neo-modern .header-top .order-arrow{display:none}}
