
:root{--primary:#24205a;--primary2:#3b3771;--text:#15151f;--muted:#666;--bg:#fff;--gold:#8b6914;--card:#f6f6f8;--border:rgba(0,0,0,.1)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:white}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}.top-banner{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--gold);display:flex;justify-content:center;align-items:center}.top-banner a{color:#fff;text-align:center;font-size:14px;font-weight:600;letter-spacing:.04em;padding:11px 44px}.top-banner button{position:absolute;right:14px;background:none;border:0;color:#fff;font-size:22px;cursor:pointer}.site-header{position:fixed;top:42px;left:0;right:0;z-index:50;background:white;box-shadow:0 8px 28px rgba(0,0,0,.08);transition:.25s}.site-header.no-banner{top:0}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:var(--primary);color:#fff;font-weight:800}.brand-text{font-weight:800;font-size:19px;color:var(--primary)}.desktop-nav{display:flex;gap:40px}.nav-link{font-weight:600;font-size:14px}.nav-link.active{font-weight:800}.call{background:var(--primary);color:#fff;border-radius:10px;padding:13px 22px;font-weight:700}.menu-btn{display:none;border:0;background:#f4f4f6;border-radius:8px;padding:8px 10px;font-size:24px}.mobile-nav{display:none}.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:flex-end}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1s ease}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.hero-grad{position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(to top,rgba(36,32,90,.92),rgba(36,32,90,.50),transparent)}.hero-content{position:relative;z-index:2;padding-bottom:70px;color:#fff;animation:heroTextIn 900ms ease-out both}.hero h1{font-size:clamp(34px,5vw,64px);margin:0 0 15px;font-weight:800}.hero p{max-width:760px;line-height:1.7;color:rgba(255,255,255,.9);font-size:16px}.btns{display:flex;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:13px 24px;font-weight:750;border:1px solid transparent}.btn.light{background:#fff;color:var(--primary)}.btn.outline{border-color:rgba(255,255,255,.5);color:#fff}.btn.primary{background:var(--primary);color:#fff}.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:999px;border:0;background:rgba(255,255,255,.22);color:#fff;font-size:36px;line-height:1;cursor:pointer}.slider-arrow.left{left:24px}.slider-arrow.right{right:24px}.dots{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:8px}.dots button{width:11px;height:11px;border-radius:99px;border:0;background:rgba(255,255,255,.5);cursor:pointer}.dots button.active{width:30px;background:#fff}.features{background:var(--primary);padding:54px 0 64px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{background:rgba(255,255,255,.10);border-radius:13px;padding:28px 26px;text-align:center;color:white;min-height:260px}.feature-card .icon{width:62px;height:62px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center;margin:0 auto 20px;font-size:30px}.feature-card h2{font-size:20px;margin:0 0 12px}.feature-card p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.8)}.gallery-section{padding:34px 0;background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.image-card{overflow:hidden;border-radius:13px;box-shadow:0 8px 18px rgba(0,0,0,.16)}.image-card img{display:block;width:100%;height:250px;object-fit:cover}.cta{background:var(--primary);padding:54px 0;text-align:center;color:#fff}.cta h2{font-size:34px;margin:0 0 15px}.cta p{color:rgba(255,255,255,.78);font-size:18px;margin-bottom:28px}.page{padding-top:124px}.dark-page{background:linear-gradient(to bottom,var(--primary),#2d2867);color:white}.page-hero{padding:76px 0 40px}.page-hero h1,.service-head h1{font-size:clamp(34px,5vw,64px);margin:0 0 18px}.page-hero p{max-width:900px;line-height:1.65;color:rgba(255,255,255,.88);font-size:20px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:35px 0 60px}.rounded-img,.service-header-img{width:100%;border-radius:18px;display:block;object-fit:cover;box-shadow:0 12px 30px rgba(0,0,0,.18)}.rounded-img{height:430px}.about-copy h2{font-size:32px}.about-copy p{line-height:1.7;color:rgba(255,255,255,.8)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 0 70px}.value-card,.service-card,.contact-card{background:white;color:var(--text);border-radius:16px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.08)}.value-icon,.service-icon{font-size:26px;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:rgba(36,32,90,.08);margin-bottom:14px}.value-card p,.service-card p{color:var(--muted);line-height:1.6;font-size:14px}.service-head{background:#f6f6f8;padding:50px 0}.service-head p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.6}.service-header-img{height:320px;max-width:780px;margin-top:28px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:42px 0}.service-card{border:1px solid var(--border)}.custom-cta{background:#f6f6f8;border-radius:18px;text-align:center;padding:34px;margin-bottom:45px}.custom-cta p{color:var(--muted)}.projects{background:var(--primary);color:white;padding:48px 0 62px}.projects h2{font-size:34px;margin-bottom:8px}.projects>div>p{color:rgba(255,255,255,.75);max-width:700px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.project-card{background:#fff;color:var(--text);border-radius:16px;overflow:hidden;box-shadow:0 12px 25px rgba(0,0,0,.18)}.project-card img{width:100%;height:220px;object-fit:cover;display:block}.project-card div{padding:18px}.project-card span{display:inline-block;background:var(--primary);color:#fff;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:700}.project-card h3{font-size:18px}.project-card p{font-size:13px;color:var(--muted);line-height:1.55}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:44px 0}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-card a{display:block;margin:10px 0;color:var(--primary);font-size:14px}.address{background:#f6f6f8;border-radius:14px;padding:18px;margin-top:18px;line-height:1.6}.address span{color:var(--primary);font-weight:700}.contact-images>picture img{width:100%;height:300px;object-fit:cover;border-radius:16px}.contact-images>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.contact-images>div img{width:100%;height:170px;object-fit:cover;border-radius:14px}.footer{background:var(--primary);color:white}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding:48px 0}.footer a{display:block;color:rgba(255,255,255,.72);margin:8px 0;font-size:14px}.footer p{color:rgba(255,255,255,.72);line-height:1.6}.footer h2{font-size:15px}.footer-logo{display:flex;align-items:center;gap:13px}.footer-logo span{width:44px;height:44px;border-radius:10px;background:white;color:var(--primary);display:grid;place-items:center;font-weight:800}.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.65);font-size:14px}.foot-bottom button{border:0;background:rgba(255,255,255,.12);color:white;width:36px;height:36px;border-radius:999px}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-size:12px;padding:15px}


/* Motion / polish */
@keyframes heroTextIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes softZoom{from{transform:scale(1.03)}to{transform:scale(1.09)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeLeft{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeRight{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:translateX(0)}}
.slide.active img{animation:softZoom 8s ease-in-out forwards}
.btn,.call,.nav-link,.image-card,.feature-card,.value-card,.service-card,.project-card,.contact-card,.slider-arrow{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,opacity .25s ease}
.btn:hover,.call:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,0,0,.18)}
.nav-link:hover{color:var(--gold)}
.feature-card:hover,.value-card:hover,.service-card:hover,.project-card:hover,.contact-card:hover{transform:translateY(-7px);box-shadow:0 16px 34px rgba(0,0,0,.18)}
.image-card img,.project-card img{transition:transform .55s ease,filter .55s ease}.image-card:hover img,.project-card:hover img{transform:scale(1.06);filter:saturate(1.08)}
.slider-arrow:hover{background:rgba(255,255,255,.38);transform:translateY(-50%) scale(1.06)}
html.anim-ready .reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}html.anim-ready .reveal.in-view{opacity:1;transform:translateY(0)}
html.anim-ready .reveal-left{opacity:0;transform:translateX(-34px);transition:opacity .75s ease,transform .75s ease}html.anim-ready .reveal-right{opacity:0;transform:translateX(34px);transition:opacity .75s ease,transform .75s ease}html.anim-ready .reveal-left.in-view,html.anim-ready .reveal-right.in-view{opacity:1;transform:translateX(0)}
.feature-card:nth-child(2),.service-card:nth-child(2),.project-card:nth-child(2),.image-card:nth-child(2){transition-delay:.08s}.feature-card:nth-child(3),.service-card:nth-child(3),.project-card:nth-child(3),.image-card:nth-child(3){transition-delay:.16s}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important}}

@media(max-width:900px){.desktop-nav,.nav-wrap>.call{display:none}.menu-btn{display:block}.mobile-nav.open{display:flex;flex-direction:column;gap:16px;padding:18px 24px;border-top:1px solid var(--border);background:white}.mobile-call{text-align:center}.nav-wrap{height:74px}.page{padding-top:116px}.feature-grid,.values-grid,.services-grid,.projects-grid{grid-template-columns:1fr 1fr}.about-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-content{padding-bottom:68px}.slider-arrow{display:none}}
@media(max-width:640px){.container{width:min(100% - 24px,1180px)}.top-banner a{font-size:11px;padding:10px 36px}.site-header{top:36px}.brand-mark{width:46px;height:46px}.brand-text{font-size:16px}.hero{min-height:720px}.hero-content{padding-bottom:58px}.hero h1{font-size:36px}.hero p{font-size:14px;line-height:1.65}.btns{flex-direction:column}.btn{width:100%}.features{padding:38px 0}.feature-grid,.gallery-grid,.values-grid,.services-grid,.projects-grid,.contact-cards,.footer-grid{grid-template-columns:1fr}.feature-card{min-height:auto}.gallery-grid{gap:14px}.image-card img{height:210px}.cta h2{font-size:27px}.cta p{font-size:15px}.page-hero{padding:46px 0 24px}.page-hero p{font-size:16px}.rounded-img{height:280px}.service-head{padding:32px 0}.service-header-img{height:200px}.projects{padding:36px 0}.project-card img{height:200px}.contact-images>picture img{height:220px}.contact-images>div img{height:130px}.foot-bottom{flex-direction:column;text-align:center}.values-grid{padding-bottom:38px}.services-grid{padding:28px 0}.custom-cta{margin-bottom:28px;padding:24px}.page{padding-top:110px}}

/* Premium design pass - logo, spacing, cards, CTA, footer */
:root{--soft-shadow:0 18px 45px rgba(16,14,48,.16);--soft-border:rgba(36,32,90,.12)}
.site-header{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.55);box-shadow:0 12px 40px rgba(16,14,48,.08)}
.nav-wrap{height:92px}.brand img{display:block;width:178px;height:auto;object-fit:contain}.brand{gap:0}.desktop-nav{gap:34px}.nav-link{position:relative;padding:8px 0;color:var(--primary);letter-spacing:.01em}.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:right;transition:transform .28s ease}.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);transform-origin:left}.call{box-shadow:0 10px 24px rgba(36,32,90,.18)}
.hero-grad{height:82%;background:linear-gradient(90deg,rgba(12,10,37,.78) 0%,rgba(36,32,90,.63) 38%,rgba(36,32,90,.24) 72%,rgba(36,32,90,.10) 100%),linear-gradient(to top,rgba(16,14,48,.88),rgba(16,14,48,.40),transparent)}
.hero-content{padding-bottom:96px}.hero h1{letter-spacing:-.035em;text-shadow:0 12px 30px rgba(0,0,0,.32)}.hero p{font-size:17px;max-width:790px;text-shadow:0 8px 24px rgba(0,0,0,.28)}
.btn{letter-spacing:.01em}.btn.light{box-shadow:0 12px 30px rgba(0,0,0,.18)}.btn.outline{background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.features{padding:82px 0 84px;background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.11),transparent 30%),linear-gradient(135deg,#1f1b52,#2c2768 60%,#201b55)}.feature-card{border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.13);padding:34px 30px;border-radius:18px}.feature-card .icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.gallery-section{padding:58px 0}.gallery-grid{gap:26px}.image-card{border-radius:18px;box-shadow:var(--soft-shadow);border:1px solid var(--soft-border)}.image-card img{height:265px}.cta{position:relative;overflow:hidden;padding:76px 0;background:linear-gradient(135deg,rgba(36,32,90,.94),rgba(31,27,82,.98)),url('images/hero/desktop/slide1.webp') center/cover fixed}.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.14),transparent 34%)}.cta .container{position:relative}.cta h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.035em}.cta .btn{min-width:180px}
.value-card,.service-card,.contact-card,.project-card{border:1px solid var(--soft-border);box-shadow:0 12px 34px rgba(36,32,90,.10)}.service-card,.value-card,.contact-card{border-radius:20px}.projects{background:linear-gradient(135deg,#1f1b52,#2c2768)}.project-card{border-radius:20px}.project-card img{height:235px}
.footer{background:linear-gradient(135deg,#1a1648,#26215d)}.footer-grid{padding:62px 0 48px}.footer-logo img{width:190px;height:auto;background:#fff;border-radius:14px;padding:8px;box-shadow:0 10px 28px rgba(0,0,0,.16)}.footer h2{font-size:16px;letter-spacing:.02em}.footer a{transition:color .2s ease,transform .2s ease}.footer a:hover{color:#fff;transform:translateX(3px)}
.rounded-img,.service-header-img,.contact-images img{box-shadow:var(--soft-shadow);border:1px solid var(--soft-border)}
@media(max-width:900px){.nav-wrap{height:82px}.brand img{width:155px}.mobile-nav.open{background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}}
@media(max-width:640px){.site-header{top:36px}.nav-wrap{height:72px}.brand img{width:132px}.hero{min-height:680px}.hero-content{padding-bottom:76px}.hero-grad{height:88%;background:linear-gradient(to top,rgba(16,14,48,.94),rgba(36,32,90,.58),rgba(36,32,90,.12))}.features{padding:48px 0}.feature-card{padding:26px 22px}.gallery-section{padding:36px 0}.image-card img{height:220px}.cta{padding:56px 0;background-attachment:scroll}.footer-logo img{width:165px}.footer-grid{padding-top:44px}}

/* v6 original text/layout refinements */
.original-about-copy{align-self:center}.original-about-copy>p{font-size:16px;color:rgba(255,255,255,.82);margin-top:0}.original-about-copy ul{margin:14px 0 26px;padding-left:22px;color:#fff;line-height:1.95}.original-about-copy li::marker{color:#fff}.commitment-box{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:24px;box-shadow:0 16px 35px rgba(0,0,0,.10);backdrop-filter:blur(8px)}.commitment-box h3{margin:0 0 10px;font-size:22px;color:#fff}.commitment-box p{margin:0;color:rgba(255,255,255,.82);line-height:1.65}.values-wrap{padding-bottom:64px}.values-wrap h2{text-align:center;margin:0 0 30px;color:#fff;font-size:clamp(26px,3vw,38px)}.dark-page .value-card{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 45px rgba(0,0,0,.12);backdrop-filter:blur(8px)}.dark-page .value-card p{color:rgba(255,255,255,.78)}.dark-page .value-icon{background:rgba(255,255,255,.18)}.about-quote{padding:0 0 72px;text-align:center;max-width:880px}.about-quote div{font-size:52px;color:rgba(255,255,255,.28);line-height:1}.about-quote blockquote{margin:0 auto 24px;color:rgba(255,255,255,.9);font-size:clamp(18px,2.3vw,26px);font-style:italic;line-height:1.55}.about-quote strong{font-style:normal;color:#fff}.page.dark-page{overflow:hidden}.dark-page .rounded-img{box-shadow:0 24px 50px rgba(0,0,0,.24)}
@media(max-width:900px){.values-wrap{padding-bottom:42px}.commitment-box{padding:20px}.about-quote{padding-bottom:48px}}
@media(max-width:640px){.original-about-copy ul{line-height:1.8}.values-wrap h2{text-align:left}.dark-page .value-card{padding:22px}.about-quote{text-align:left}.about-quote div{text-align:center}.about-quote .btn{width:100%}}

/* v7 safety: content stays visible even if animations fail */
html:not(.anim-ready) .reveal, html:not(.anim-ready) .reveal-left, html:not(.anim-ready) .reveal-right{opacity:1!important;transform:none!important;}
.about-grid,.values-wrap,.about-quote{display:block;}
.about-grid{display:grid;}

/* v9 About page exact original content block */
.about-page{background:linear-gradient(135deg,#24205a 0%,#1d194d 55%,#302a72 100%);min-height:100vh;color:#fff;}
.about-page .about-hero{padding-top:72px;padding-bottom:78px;}
.about-page .about-hero h1{font-size:clamp(46px,6vw,72px);line-height:1;margin:0 0 34px;font-weight:850;letter-spacing:-.04em;}
.about-page .about-hero p{max-width:940px;font-size:clamp(20px,2vw,26px);line-height:1.35;color:rgba(255,255,255,.88);margin:0;}
.about-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:30px 0 58px;}
.about-image-wrap .rounded-img{width:100%;height:430px;object-fit:cover;border-radius:12px;box-shadow:0 22px 50px rgba(0,0,0,.24);}
.about-main-copy{color:#fff;font-size:17px;line-height:1.7;}
.about-main-copy>p{margin:0 0 14px;color:rgba(255,255,255,.86);}
.about-main-copy ul{margin:0 0 28px;padding-left:24px;color:#fff;line-height:1.95;}
.about-main-copy li{margin:0;}
.about-main-copy li::marker{color:#fff;}
.about-page .commitment-box{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.20);border-radius:10px;padding:24px 26px;box-shadow:0 18px 36px rgba(0,0,0,.12);}
.about-page .commitment-box h2{margin:0 0 12px;font-size:22px;color:#fff;}
.about-page .commitment-box p{margin:0;color:rgba(255,255,255,.82);line-height:1.6;}
.about-values-full{padding:8px 0 70px;}
.about-values-full .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:0;}
.about-values-full .value-card{display:block;background:rgba(255,255,255,.13)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:24px;min-height:275px;box-shadow:0 18px 38px rgba(0,0,0,.12);transition:transform .28s ease,box-shadow .28s ease,background .28s ease;}
.about-values-full .value-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.17)!important;box-shadow:0 28px 60px rgba(0,0,0,.18);}
.about-values-full .value-icon{width:50px;height:50px;border-radius:9px;background:rgba(255,255,255,.18);display:grid;place-items:center;margin:0 0 18px;font-size:24px;color:#fff;}
.about-values-full .value-card h2{font-size:18px;line-height:1.3;margin:0 0 12px;color:#fff;}
.about-values-full .value-card p{font-size:15px;line-height:1.48;color:rgba(255,255,255,.78)!important;margin:0;}
.about-page .reveal,.about-page .reveal-left,.about-page .reveal-right,.about-page .value-card,.about-page .rounded-img,.about-page .about-copy{opacity:1!important;transform:none!important;visibility:visible!important;}
@media(max-width:900px){.about-page .about-hero{padding-top:52px;padding-bottom:46px}.about-intro-grid{grid-template-columns:1fr;gap:28px;padding-top:12px}.about-image-wrap .rounded-img{height:320px}.about-values-full .values-grid{grid-template-columns:1fr 1fr}.about-values-full .value-card{min-height:auto}}
@media(max-width:640px){.about-page .about-hero h1{font-size:44px}.about-page .about-hero p{font-size:19px}.about-image-wrap .rounded-img{height:250px}.about-values-full .values-grid{grid-template-columns:1fr}.about-page .commitment-box{padding:20px}.about-values-full .value-card{padding:22px}.about-values-full{padding-bottom:46px}}


/* v10 homepage cleanup */
/* Removed About preview from homepage; keep homepage focused on hero, commitment cards, images and CTA. */
.hero-content{padding-bottom:46px!important;}
@media(max-width:900px){.hero-content{padding-bottom:48px!important;}}
@media(max-width:640px){.hero-content{padding-bottom:54px!important;}.dots{bottom:18px}.hero p{max-width:100%;}}

/* About final quote section */
.about-quote{padding:24px 0 86px;text-align:center;max-width:1080px;margin:0 auto;color:#fff;position:relative}
.about-quote::before{content:"";position:absolute;inset:10px auto auto 50%;width:520px;height:220px;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,255,255,.08),transparent 68%);pointer-events:none}
.about-quote .quote-mark{font-size:86px;line-height:.75;color:rgba(255,255,255,.26);font-family:Georgia,serif;margin-bottom:18px;animation:quoteFloat 3.8s ease-in-out infinite}
.about-quote blockquote{position:relative;margin:0 auto 34px;max-width:980px;font-size:clamp(24px,3.1vw,42px);line-height:1.45;font-style:italic;font-weight:300;color:rgba(255,255,255,.88);letter-spacing:.01em}
.about-quote blockquote strong{font-style:normal;color:#fff;font-weight:800}
.about-quote .quote-btn{position:relative;gap:16px;font-size:20px;padding:18px 34px;border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.about-quote .quote-btn:hover{transform:translateY(-3px);box-shadow:0 24px 55px rgba(0,0,0,.24)}
@keyframes quoteFloat{0%,100%{transform:translateY(0);opacity:.24}50%{transform:translateY(-8px);opacity:.42}}
@media(max-width:760px){.about-quote{text-align:center;padding:10px 0 58px}.about-quote blockquote{font-size:26px;line-height:1.42}.about-quote .quote-btn{width:auto;font-size:18px;padding:16px 28px}}
@media(max-width:480px){.about-quote blockquote{font-size:22px}.about-quote .quote-mark{font-size:68px}.about-quote .quote-btn{width:100%}}

/* SEO / mobile optimization polish */
.gallery-section,.features,.cta,.services-grid,.projects,.contact-grid,.about-intro-grid,.about-values-full,.about-quote{content-visibility:auto;contain-intrinsic-size:1px 900px;}
img{max-width:100%;height:auto;}
@media(max-width:700px){.hero{min-height:calc(100svh - 120px)}.hero-content{padding-top:42vh}.hero h1{font-size:clamp(42px,13vw,64px)}.hero p{font-size:16px;line-height:1.55}.feature-grid,.gallery-grid,.footer-grid,.projects-grid,.services-grid{grid-template-columns:1fr!important}.site-header{position:sticky;top:0;z-index:50}.brand img{width:112px;height:auto}.nav-wrap{min-height:76px}.page-hero{padding-top:52px}.footer h2{font-size:16px}}


/* v14 refinements: lower hero copy, remove slide controls, cleaner line icons, stronger page animations */
.hero .hero-content{
  position:absolute!important;
  left:50%!important;
  bottom:28px!important;
  transform:translateX(-50%)!important;
  width:min(1180px,calc(100% - 32px))!important;
  margin:0!important;
  padding:0 0 28px 0!important;
}
.hero .dots,.slider-arrow{display:none!important;}
.hero h1{font-size:clamp(48px,6vw,82px);margin-bottom:12px;}
.hero p{max-width:820px;line-height:1.58;font-size:17px;}
.hero .btns{margin-top:22px;}
.hero-grad{height:92%!important;background:linear-gradient(to top,rgba(15,13,45,.96) 0%,rgba(36,32,90,.76) 38%,rgba(36,32,90,.28) 74%,rgba(36,32,90,.08) 100%)!important;}
.line-icon svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.feature-card .line-icon,.value-card .line-icon,.service-card .line-icon{color:#fff;}
.service-card .line-icon{color:var(--primary);}
.value-card .line-icon{color:#fff;}
.feature-card .icon.line-icon{font-size:0;}
.value-icon.line-icon,.service-icon.line-icon{font-size:0;}
.feature-card:hover .line-icon svg,.value-card:hover .line-icon svg,.service-card:hover .line-icon svg{transform:scale(1.08) rotate(-2deg);transition:transform .25s ease;}
.about-page .about-hero,.service-head .container{animation:fadeUp .75s ease both;}
.about-intro-grid .about-image-wrap{animation:fadeLeft .85s ease both .08s;}
.about-intro-grid .about-main-copy{animation:fadeRight .85s ease both .14s;}
.about-values-full .value-card,.services-grid .service-card{opacity:0;animation:fadeUp .7s ease both;}
.about-values-full .value-card:nth-child(1),.services-grid .service-card:nth-child(1){animation-delay:.04s}
.about-values-full .value-card:nth-child(2),.services-grid .service-card:nth-child(2){animation-delay:.10s}
.about-values-full .value-card:nth-child(3),.services-grid .service-card:nth-child(3){animation-delay:.16s}
.about-values-full .value-card:nth-child(4),.services-grid .service-card:nth-child(4){animation-delay:.22s}
.about-values-full .value-card:nth-child(5),.services-grid .service-card:nth-child(5){animation-delay:.28s}
.about-values-full .value-card:nth-child(6),.services-grid .service-card:nth-child(6){animation-delay:.34s}
.service-card:hover,.about-values-full .value-card:hover{transform:translateY(-8px);}
@media(max-width:900px){
  .hero .hero-content{bottom:18px!important;padding-bottom:24px!important;}
  .hero h1{font-size:clamp(44px,11vw,68px);}
}
@media(max-width:700px){
  .hero{min-height:calc(100svh - 100px)!important;}
  .hero .hero-content{bottom:14px!important;padding-bottom:18px!important;}
  .hero p{font-size:15.5px;line-height:1.5;max-width:100%;}
  .hero .btns{gap:10px;flex-wrap:wrap;margin-top:16px;}
  .hero .btn{padding:12px 18px;}
}


/* v15 final fixes */
.hero .hero-content{bottom:0!important;padding-bottom:14px!important;}
.hero .dots,.slider-arrow{display:none!important;}
.about-values-full{padding-bottom:70px;}
.about-values-full .values-grid{grid-template-columns:repeat(3,1fr)!important;}
.about-values-full .value-card{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 18px 45px rgba(0,0,0,.12)!important;}
.about-values-full .value-card p{color:rgba(255,255,255,.82)!important;}
.about-values-full .value-icon{background:rgba(255,255,255,.18)!important;color:#fff!important;}
@media(max-width:900px){.hero .hero-content{bottom:0!important;padding-bottom:12px!important;}.about-values-full .values-grid{grid-template-columns:1fr 1fr!important;}}
@media(max-width:640px){.hero .hero-content{bottom:0!important;padding-bottom:10px!important;}.about-values-full .values-grid{grid-template-columns:1fr!important;}}

/* v16: remove text reveal/selection flicker while keeping clean hover polish */
html.anim-ready .reveal,
html.anim-ready .reveal-left,
html.anim-ready .reveal-right,
.reveal,
.reveal-left,
.reveal-right,
.hero-content,
.about-page .about-hero,
.service-head .container,
.about-intro-grid .about-image-wrap,
.about-intro-grid .about-main-copy,
.about-values-full .value-card,
.services-grid .service-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition-property: box-shadow, background-color, color, border-color !important;
}

/* keep hover movement only on cards/buttons/images, not paragraphs/headings */
.feature-card:hover,
.value-card:hover,
.service-card:hover,
.project-card:hover,
.contact-card:hover,
.about-values-full .value-card:hover {
  transform: translateY(-5px) !important;
}

.hero h1,
.hero p,
.page-hero h1,
.page-hero p,
.about-copy,
.about-copy *,
.service-head h1,
.service-head p,
.value-card h2,
.value-card h3,
.value-card p,
.service-card h2,
.service-card h3,
.service-card p {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  will-change: auto !important;
}

/* v17: Safari-safe animations — no text transform/ghosting */
.hero h1,.hero p,.page-hero h1,.page-hero p,.feature-card h1,.feature-card h2,.feature-card h3,.feature-card p,.value-card h1,.value-card h2,.value-card h3,.value-card p,.service-card h1,.service-card h2,.service-card h3,.service-card p,.about-copy,.about-copy *,.commitment-box,.commitment-box *{
  text-shadow:none!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.feature-card,.value-card,.service-card,.project-card,.contact-card,.about-values-full .value-card{
  -webkit-user-select:none;
  user-select:none;
  transform:none!important;
  transition:box-shadow .28s ease, background-color .28s ease, border-color .28s ease!important;
  animation:cardSoftIn .55s ease both!important;
  will-change:box-shadow,background-color;
}

.feature-card:hover,.value-card:hover,.service-card:hover,.project-card:hover,.contact-card:hover,.about-values-full .value-card:hover{
  transform:none!important;
  box-shadow:0 28px 60px rgba(0,0,0,.20)!important;
  border-color:rgba(255,255,255,.22)!important;
}

.feature-card .icon,.value-icon,.service-icon,.line-icon{
  transition:transform .28s ease, box-shadow .28s ease, background-color .28s ease!important;
  will-change:transform;
}
.feature-card:hover .icon,.value-card:hover .value-icon,.service-card:hover .service-icon,.feature-card:hover .line-icon,.value-card:hover .line-icon,.service-card:hover .line-icon{
  transform:translateY(-3px) scale(1.04)!important;
  box-shadow:0 14px 28px rgba(0,0,0,.16)!important;
}

.btn,.call{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease!important;}
.btn:hover,.call:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(0,0,0,.18)!important;}

@keyframes cardSoftIn{
  from{box-shadow:0 6px 18px rgba(0,0,0,.08)}
  to{box-shadow:0 18px 45px rgba(0,0,0,.12)}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transform:none!important;}
}

header, nav, .navbar {
 background:#ffffff !important;
}
header a, nav a, .navbar a {
 color:#241B68 !important;
}

.card,.service-card,.about-card{
 transition:transform .35s ease, box-shadow .35s ease;
 backface-visibility:hidden;
 -webkit-font-smoothing:antialiased;
}
.card:hover,.service-card:hover,.about-card:hover{
 transform:translateY(-6px);
 box-shadow:0 18px 35px rgba(0,0,0,.18);
}

.hero-content,.section{
 animation:fadeIn .7s ease;
}

@keyframes fadeIn{
 from{opacity:0; transform:translateY(12px);}
 to{opacity:1; transform:translateY(0);}
}


/* stronger original-style animations */
.card,.service-card,.about-card,.commitment-card{
 transition: all .45s ease;
}
.card:hover,.service-card:hover,.about-card:hover,.commitment-card:hover{
 transform: translateY(-10px) scale(1.02);
 box-shadow: 0 24px 45px rgba(0,0,0,.18);
}

.hero-content{
 animation: heroFade 1s ease;
}

@keyframes heroFade{
 from{
   opacity:0;
   transform:translateY(35px);
 }
 to{
   opacity:1;
   transform:translateY(0);
 }
}

/* smaller quote text */
.quote,
blockquote,
.quote-text{
 font-size:16px !important;
 line-height:1.5 !important;
 max-width:850px;
 margin:auto;
}


/* v22: stop accidental text selection/highlight while keeping animations */
body, body * {
  -webkit-tap-highlight-color: transparent;
}

.hero, .hero *, .page-hero, .page-hero *, .about-hero, .about-hero *,
.card, .card *, .service-card, .service-card *, .about-card, .about-card *,
.quote-section, .quote-section *, blockquote, blockquote * {
  -webkit-user-select: none;
  user-select: none;
}

input, textarea, select, option {
  -webkit-user-select: text;
  user-select: text;
}

/* prevent Safari/Chrome ghosting on animated text */
h1, h2, h3, h4, p, li, a, span, blockquote {
  text-shadow: none !important;
  transform: none;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* animations only on blocks/cards/images, not text */
.card, .service-card, .about-card, .commitment-card, .feature-card {
  transition: transform .42s ease, box-shadow .42s ease, border-color .42s ease;
  will-change: transform;
}
.card:hover, .service-card:hover, .about-card:hover, .commitment-card:hover, .feature-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 45px rgba(0,0,0,.18);
}
img {
  transition: transform .55s ease;
}
.gallery img:hover, .project img:hover {
  transform: scale(1.035);
}

/* smaller quote block text */
.quote, .quote-text, blockquote {
  font-size: clamp(18px, 2vw, 28px) !important;
  line-height: 1.45 !important;
}


/* v25 final stable: paths fixed, clean animations, mobile safe */
html{scroll-behavior:smooth;}
body{animation:pageFadeIn .45s ease both;}
@keyframes pageFadeIn{from{opacity:.01}to{opacity:1}}

/* Prevent accidental text selection/highlight in presentation areas */
body, body *{-webkit-tap-highlight-color:transparent;}
main, header, footer, .card, .service-card, .about-card, .value-card, .commitment-card, .feature-card, .hero, .page-hero, .about-quote{
  -webkit-user-select:none; user-select:none;
}
input, textarea, select, option{-webkit-user-select:text;user-select:text;}

/* Keep text stable - no Safari ghosting */
h1,h2,h3,h4,p,li,a,span,blockquote,strong{ text-shadow:none!important; backface-visibility:hidden; -webkit-font-smoothing:antialiased; }

/* Entry animations on blocks only */
main>section,.section,.page-section,.about-section,.services-section,.cta,.cta-section,.gallery-section,.values-wrap,.about-intro-grid,.about-quote,.footer{
  animation:sectionRise .65s ease both;
}
@keyframes sectionRise{from{opacity:.01;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.card,.service-card,.about-card,.value-card,.commitment-card,.feature-card,.image-card{
  animation:cardEnter .65s ease both;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease;
}
@keyframes cardEnter{from{opacity:.01;transform:translateY(18px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.card:nth-child(2),.service-card:nth-child(2),.about-card:nth-child(2),.value-card:nth-child(2),.image-card:nth-child(2){animation-delay:.06s}
.card:nth-child(3),.service-card:nth-child(3),.about-card:nth-child(3),.value-card:nth-child(3),.image-card:nth-child(3){animation-delay:.12s}
.card:nth-child(4),.service-card:nth-child(4),.about-card:nth-child(4),.value-card:nth-child(4){animation-delay:.18s}
.card:nth-child(5),.service-card:nth-child(5),.about-card:nth-child(5),.value-card:nth-child(5){animation-delay:.24s}
.card:nth-child(6),.service-card:nth-child(6),.about-card:nth-child(6),.value-card:nth-child(6){animation-delay:.30s}

.card:hover,.service-card:hover,.about-card:hover,.value-card:hover,.commitment-card:hover,.feature-card:hover,.image-card:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 44px rgba(0,0,0,.18);
}

.gallery img,.project img,.image-card img,.rounded-img{transition:transform .55s ease,filter .55s ease;}
.gallery img:hover,.project img:hover,.image-card img:hover,.rounded-img:hover{transform:scale(1.025);filter:brightness(1.03)}

button,.btn,.button,a.btn,a.button,.call{transition:transform .25s ease,box-shadow .25s ease,background .25s ease;color:inherit;}
button:hover,.btn:hover,.button:hover,a.btn:hover,a.button:hover,.call:hover{transform:translateY(-2px)}

/* Header call button fix */
.call, header .call, nav .call, .mobile-call, a[href^="tel"].call{
  background:#241B68!important;color:#fff!important;border:1px solid #241B68!important;opacity:1!important;visibility:visible!important;text-decoration:none!important;
}
.call *, header .call *, nav .call *, .mobile-call *{color:#fff!important;fill:#fff!important;stroke:#fff!important;opacity:1!important;}

/* smaller About quote */
.about-quote blockquote,.quote,.quote-text,blockquote{font-size:clamp(18px,2vw,28px)!important;line-height:1.45!important;max-width:1050px;margin-left:auto;margin-right:auto;}
.about-quote{padding-top:70px!important;padding-bottom:70px!important;}

/* Mobile optimisation */
@media(max-width:768px){
  main>section,.section,.page-section,.about-section,.services-section,.cta,.cta-section,.gallery-section,.values-wrap,.about-intro-grid,.about-quote,.footer{animation-duration:.42s;}
  .card:hover,.service-card:hover,.about-card:hover,.value-card:hover,.commitment-card:hover,.feature-card:hover,.image-card:hover,.gallery img:hover,.project img:hover,.image-card img:hover,.rounded-img:hover{transform:none;}
  .about-quote blockquote,.quote,.quote-text,blockquote{font-size:20px!important;}
}
@media(prefers-reduced-motion:reduce){
  body,main>section,.section,.page-section,.about-section,.services-section,.cta,.cta-section,.gallery-section,.values-wrap,.about-intro-grid,.about-quote,.footer,.card,.service-card,.about-card,.value-card,.commitment-card,.feature-card,.image-card{animation:none!important;transition:none!important;}
}


/* v28 mobile hero/header polish */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; }

  .top-bar, .announcement-bar, .capability-bar {
    min-height: auto !important;
    padding: 8px 38px 8px 14px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: .4px !important;
    text-align: center !important;
  }

  .top-bar .close, .announcement-bar .close, .capability-bar .close,
  .top-bar button, .announcement-bar button, .capability-bar button {
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 18px !important;
  }

  header, .header, .navbar, nav {
    min-height: 66px !important;
    padding: 10px 18px !important;
  }

  .logo img, header img, .navbar img {
    max-width: 128px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .menu-toggle, .hamburger, .mobile-menu-toggle {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
  }

  .hero, .hero-slider, .home-hero, .slider,
  .hero-slide, .slide {
    min-height: 74vh !important;
    height: auto !important;
  }

  .hero img, .hero-slide img, .slider img {
    height: 74vh !important;
    min-height: 540px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .hero::before, .hero-slide::before, .slider::before {
    background: linear-gradient(180deg, rgba(36,27,104,.08) 0%, rgba(36,27,104,.30) 38%, rgba(20,15,64,.86) 100%) !important;
  }

  .hero-content, .slider-content, .home-hero-content {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 24px 34px !important;
    margin: 0 !important;
  }

  .hero-content h1, .slider-content h1, .home-hero-content h1, .hero h1 {
    font-size: clamp(38px, 10.5vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: -1.2px !important;
    margin-bottom: 18px !important;
    max-width: 94% !important;
  }

  .hero-content p, .slider-content p, .home-hero-content p, .hero p {
    font-size: 16.5px !important;
    line-height: 1.48 !important;
    max-width: 100% !important;
    margin-bottom: 22px !important;
  }

  .hero-buttons, .hero-actions, .slider-buttons, .cta-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .hero-buttons a, .hero-actions a, .slider-buttons a, .cta-buttons a,
  .hero .btn, .hero .button {
    width: 100% !important;
    min-height: 52px !important;
    padding: 13px 18px !important;
    font-size: 17px !important;
    border-radius: 12px !important;
    justify-content: center !important;
  }

  main > section, .section, .page-section {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  .cards, .grid, .services-grid, .about-grid, .features-grid { gap: 18px !important; }

  .card, .service-card, .about-card, .feature-card, .commitment-card {
    padding: 24px 20px !important;
    border-radius: 16px !important;
  }

  .card h3, .service-card h3, .about-card h3, .feature-card h3 {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  .card p, .service-card p, .about-card p, .feature-card p {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 430px) {
  .hero, .hero-slider, .home-hero, .slider, .hero-slide, .slide {
    min-height: 72vh !important;
  }

  .hero img, .hero-slide img, .slider img {
    height: 72vh !important;
    min-height: 520px !important;
  }

  .hero-content, .slider-content, .home-hero-content {
    padding: 0 20px 30px !important;
  }

  .hero-content h1, .slider-content h1, .home-hero-content h1, .hero h1 {
    font-size: 39px !important;
    line-height: 1.04 !important;
    margin-bottom: 16px !important;
  }

  .hero-content p, .slider-content p, .home-hero-content p, .hero p {
    font-size: 16px !important;
    line-height: 1.48 !important;
    margin-bottom: 20px !important;
  }

  .hero-buttons a, .hero-actions a, .slider-buttons a, .cta-buttons a,
  .hero .btn, .hero .button {
    min-height: 50px !important;
    font-size: 16.5px !important;
  }
}


/* v29 final mobile polish - homepage hero only */
@media (max-width: 768px) {
  body {
    background:#241B68 !important;
  }

  .site-header,
  header.site-header,
  header,
  .header,
  .navbar {
    background:#ffffff !important;
    border-bottom:0 !important;
  }

  .brand img,
  .logo img,
  header img {
    max-width:112px !important;
    height:auto !important;
  }

  .menu-toggle,
  .hamburger,
  .mobile-menu-toggle {
    background:#f4f3f8 !important;
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
  }

  .hero {
    min-height: calc(100svh - 78px) !important;
    height: calc(100svh - 78px) !important;
    max-height: 760px !important;
    overflow:hidden !important;
    position:relative !important;
    display:flex !important;
    align-items:flex-end !important;
    margin:0 !important;
  }

  .slides,
  .slide,
  .hero-slide {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  .hero img,
  .slide img,
  .hero-slide img,
  .slides img {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
  }

  .hero-grad,
  .hero::after {
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(
      180deg,
      rgba(36,27,104,.05) 0%,
      rgba(36,27,104,.18) 28%,
      rgba(22,16,69,.72) 66%,
      rgba(22,16,69,.96) 100%
    ) !important;
    pointer-events:none !important;
  }

  .hero-content,
  .container.hero-content {
    position:relative !important;
    z-index:3 !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 18px 24px !important;
    margin:0 !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
  }

  .hero-content h1 {
    font-size:34px !important;
    line-height:1.02 !important;
    letter-spacing:-.8px !important;
    max-width:92% !important;
    margin:0 0 12px !important;
  }

  .hero-content p {
    font-size:14.5px !important;
    line-height:1.42 !important;
    max-width:100% !important;
    margin:0 0 17px !important;
  }

  .hero-actions,
  .hero-buttons,
  .cta-buttons {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }

  .hero-actions a,
  .hero-buttons a,
  .cta-buttons a,
  .hero .btn,
  .hero .button {
    width:100% !important;
    min-height:46px !important;
    padding:11px 14px !important;
    font-size:15.5px !important;
    line-height:1 !important;
    border-radius:11px !important;
  }

  .features {
    padding-top:34px !important;
    margin-top:0 !important;
  }

  .features .container,
  .gallery .container,
  .cta .container {
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .features-grid,
  .cards,
  .grid {
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .feature-card,
  .card,
  .service-card,
  .about-card {
    min-height:auto !important;
    padding:22px 18px !important;
    border-radius:16px !important;
  }

  .feature-card h3,
  .card h3,
  .service-card h3,
  .about-card h3 {
    font-size:19px !important;
    margin-bottom:10px !important;
  }

  .feature-card p,
  .card p,
  .service-card p,
  .about-card p {
    font-size:15px !important;
    line-height:1.5 !important;
  }
}

@media (max-width: 430px) {
  .hero {
    min-height: calc(100svh - 72px) !important;
    height: calc(100svh - 72px) !important;
  }

  .hero-content,
  .container.hero-content {
    padding:0 14px 18px !important;
  }

  .hero-content h1 {
    font-size:31px !important;
    max-width:90% !important;
    margin-bottom:10px !important;
  }

  .hero-content p {
    font-size:13.7px !important;
    line-height:1.4 !important;
    margin-bottom:14px !important;
  }

  .hero-actions,
  .hero-buttons,
  .cta-buttons {
    gap:8px !important;
  }

  .hero-actions a,
  .hero-buttons a,
  .cta-buttons a,
  .hero .btn,
  .hero .button {
    min-height:44px !important;
    font-size:15px !important;
    padding:10px 12px !important;
  }

  .features {
    padding-top:30px !important;
  }
}

@media (max-width: 380px) {
  .hero-content h1 {
    font-size:28px !important;
  }

  .hero-content p {
    font-size:13px !important;
  }

  .hero-actions a,
  .hero-buttons a,
  .hero .btn {
    min-height:42px !important;
  }
}


/* v30 mobile: remove extra image/space under hero buttons */
@media (max-width: 768px) {
  .hero,
  .home-hero,
  .hero-slider,
  .slider {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    background: #241B68 !important;
  }

  .slides,
  .slide,
  .hero-slide {
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .slide:not(.active),
  .hero-slide:not(.active) {
    display: none !important;
  }

  .hero img,
  .slide img,
  .hero-slide img,
  .slides img {
    display: block !important;
    width: 100% !important;
    height: 68vh !important;
    min-height: 500px !important;
    max-height: 620px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  .hero-grad,
  .hero::after {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    background: linear-gradient(
      180deg,
      rgba(36,27,104,.05) 0%,
      rgba(36,27,104,.22) 30%,
      rgba(22,16,69,.82) 72%,
      rgba(22,16,69,.98) 100%
    ) !important;
    pointer-events: none !important;
  }

  .hero-content,
  .container.hero-content {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 22px !important;
    top: auto !important;
    z-index: 5 !important;
    width: 100% !important;
    padding: 0 16px !important;
    margin: 0 !important;
  }

  .hero-content h1 {
    font-size: 30px !important;
    line-height: 1.03 !important;
    margin-bottom: 10px !important;
  }

  .hero-content p {
    font-size: 13.2px !important;
    line-height: 1.38 !important;
    margin-bottom: 13px !important;
  }

  .hero-actions,
  .hero-buttons,
  .cta-buttons {
    gap: 8px !important;
  }

  .hero-actions a,
  .hero-buttons a,
  .cta-buttons a,
  .hero .btn,
  .hero .button {
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 14.5px !important;
    border-radius: 10px !important;
  }

  .features {
    margin-top: 0 !important;
    padding-top: 32px !important;
  }
}

@media (max-width: 430px) {
  .hero img,
  .slide img,
  .hero-slide img,
  .slides img {
    height: 67vh !important;
    min-height: 500px !important;
    max-height: 590px !important;
  }

  .hero-content,
  .container.hero-content {
    bottom: 18px !important;
    padding: 0 12px !important;
  }

  .hero-content h1 {
    font-size: 28px !important;
  }

  .hero-content p {
    font-size: 12.8px !important;
  }
}


/* v31 mobile spacing + full hero fix */
@media (max-width: 768px){

  .hero,
  .home-hero,
  .hero-slider,
  .slider{
    width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    border-radius:0 !important;
  }

  .hero img,
  .slide img,
  .hero-slide img{
    width:100vw !important;
  }

  .container,
  .features .container,
  .gallery-section .container,
  .cta .container,
  footer .container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .features,
  .gallery-section,
  .cta,
  footer{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }

  .features-grid,
  .cards,
  .grid,
  .gallery-grid{
    gap:12px !important;
  }

  .feature-card,
  .card,
  .service-card,
  .about-card,
  .commitment-card{
    padding:18px 16px !important;
    border-radius:14px !important;
  }

  .feature-card h3,
  .card h3,
  .service-card h3{
    margin-bottom:8px !important;
  }

  footer .footer-grid{
    gap:18px !important;
  }

  footer p,
  footer li,
  footer a{
    line-height:1.45 !important;
  }

  footer .logo{
    margin-bottom:10px !important;
  }

  footer .footer-bottom{
    padding-top:12px !important;
    margin-top:12px !important;
  }
}
