@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=Nunito:wght@600;700;800&display=swap');:root{--pink:#e72388;--blue:#26a6d8;--green:#8cbd3e;--ink:#354052}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'Open Sans',Arial,sans-serif;color:var(--ink);line-height:1.75}h1,h2,h3{font-family:Nunito,Arial,sans-serif;line-height:1.22}h2{font-size:clamp(30px,4vw,43px);margin:10px 0 24px}h3{font-size:21px}a{color:var(--blue)}.wrap{width:min(1140px,92%);margin:auto}header{background:white;position:sticky;top:0;z-index:10;box-shadow:0 3px 18px #27344b15}.nav{display:flex;justify-content:space-between;align-items:center;min-height:100px}.brand img{width:93px;height:93px;object-fit:contain}.nav nav{display:flex;gap:28px}.nav nav a{text-decoration:none;color:#424957;font-weight:700;font-size:14px}.nav nav a:hover{color:var(--pink)}.menu{display:none}.hero{min-height:510px;background:linear-gradient(90deg,#163c59c4,#163c5930),url('img/site_2.jpeg') center 44%/cover}.hero-overlay{display:flex;align-items:center;min-height:510px;color:white}.hero h1{font-size:clamp(37px,5vw,65px);max-width:760px;margin:15px 0}.hero p{font-size:19px;max-width:650px}.eyebrow{font-weight:800;color:var(--pink);letter-spacing:1px;text-transform:uppercase;font-size:12px}.hero .eyebrow{color:#fff}.btn{display:inline-block;margin-top:17px;background:var(--pink);color:white;padding:12px 30px;border-radius:3px;text-decoration:none;font-weight:700}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding:70px 0}.values article{text-align:center}.values span{font-size:45px;color:var(--blue)}.values article:nth-child(2) span{color:var(--pink)}.values article:nth-child(3) span{color:var(--green)}.soft{background:#f6f9fb;padding:85px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.feature{width:100%;border-radius:5px;box-shadow:18px 18px 0 #e9f2f7}.section{padding:90px 0}.intro{max-width:750px}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.team article,.cards article{background:white;padding:25px;box-shadow:0 4px 25px #2233440e;border:1px solid #edf0f2}.team h3{margin:0}.team p{margin:8px 0 0;color:var(--pink);font-size:12px;font-weight:700;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards article{padding:0;overflow:hidden}.cards img{width:100%;height:180px;object-fit:cover}.cards h3{padding:0 20px 15px}.contact{align-items:start}.formbox{padding:30px;background:#f5f9fc;border-top:4px solid var(--blue)}footer{background:#f7f9fa;padding:35px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.foot img{width:85px}@media(max-width:760px){.nav{min-height:80px}.brand img{width:75px;height:75px}.menu{display:block;border:0;background:white;font-size:28px}.nav nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:18px 5%;flex-direction:column;gap:13px;box-shadow:0 10px 15px #0001}.nav nav.open{display:flex}.hero,.hero-overlay{min-height:450px}.values,.two,.team,.cards{grid-template-columns:1fr}.values{gap:10px;padding:45px 0}.soft,.section{padding:60px 0}.foot{flex-direction:column;text-align:center}.feature{box-shadow:none}}/* v3 — richer original-brand palette */
:root{--pink:#e72388;--blue:#26a6d8;--green:#8cbd3e;--yellow:#f8c64f;--purple:#9864ba}
body{background:#fffdfc}
header{border-bottom:5px solid transparent;border-image:linear-gradient(90deg,var(--pink) 0 25%,var(--blue) 25% 50%,var(--green) 50% 75%,var(--yellow) 75%) 1}
.nav nav a{transition:color .2s}.nav nav a:nth-child(2){color:#c51e76}.nav nav a:nth-child(3){color:#2099c9}.nav nav a:nth-child(4){color:#659b25}
.hero{background:linear-gradient(100deg,rgba(40,137,186,.78),rgba(219,36,133,.25) 65%,rgba(140,189,62,.2)),url('img/site_2.jpeg') center 44%/cover}
.hero h1{text-shadow:0 3px 16px #2345}.hero .btn{background:var(--pink);border-radius:32px;box-shadow:0 8px 0 rgba(105,32,100,.18)}
.values{gap:18px;padding-top:55px;padding-bottom:60px}.values article{border-radius:24px;padding:32px 23px;background:#eaf8fd;border-bottom:7px solid var(--blue)}.values article:nth-child(2){background:#fff0f8;border-color:var(--pink)}.values article:nth-child(3){background:#f2f9e6;border-color:var(--green)}.values span{font-size:54px}.values h3{margin:8px 0;color:#2e5366}
.soft{background:linear-gradient(135deg,#eaf8fd 0%,#fff2f8 54%,#f1f9e7 100%)}
#about{border-top:7px solid var(--blue);border-bottom:7px solid var(--green)}#about h2{color:#dc2587}
#team{position:relative}#team:before{content:'';position:absolute;top:24px;right:4%;width:105px;height:105px;background:radial-gradient(circle at 30% 30%,#fbd85a 0 25%,transparent 26%),radial-gradient(circle at 70% 70%,#9bd24e 0 25%,transparent 26%);opacity:.35;pointer-events:none}
.team article{border-radius:18px;border:0;border-top:6px solid var(--pink);background:#fff8fc;box-shadow:0 10px 25px #4c547015}.team article:nth-child(3n+2){border-color:var(--blue);background:#f1fbff}.team article:nth-child(3n){border-color:var(--green);background:#f7fbe9}.team h3{color:#34455b}
#services{border-top:7px solid var(--pink);border-bottom:7px solid var(--blue)}#services h2{color:#2399c6}.cards article{border-radius:22px;border:0;box-shadow:0 10px 25px #3a54701a;transition:transform .2s}.cards article:hover{transform:translateY(-5px)}.cards article:nth-child(5n+1){border-bottom:8px solid var(--pink)}.cards article:nth-child(5n+2){border-bottom:8px solid var(--blue)}.cards article:nth-child(5n+3){border-bottom:8px solid var(--green)}.cards article:nth-child(5n+4){border-bottom:8px solid var(--yellow)}.cards article:nth-child(5n){border-bottom:8px solid var(--purple)}.cards h3{min-height:68px;color:#37445a}
#contact{background:#fff}.formbox{background:#fff0f8;border-top:6px solid var(--pink);border-radius:16px;box-shadow:0 8px 24px #d43a8812}.btn{border-radius:28px}footer{background:#dcf3fb;border-top:8px solid transparent;border-image:linear-gradient(90deg,var(--pink),var(--blue),var(--green),var(--yellow)) 1}
@media(max-width:760px){.values article{padding:23px}.hero{background-position:center}.cards h3{min-height:0}}

/* v4: original centre gallery, biographies, map */
.team details{margin-top:16px}.team summary{cursor:pointer;color:#148ebd;font-weight:700}.bio-content{margin-top:16px;text-align:left;font-size:14px;line-height:1.7;color:#354052;max-height:440px;overflow:auto}.bio-content p{font-size:14px;color:#354052;font-weight:400;text-transform:none}.space-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.gallery-photo{display:block;overflow:hidden;border-radius:18px;border-bottom:6px solid #e72388;box-shadow:0 8px 20px #253b541a}.gallery-photo:nth-child(2){border-color:#26a6d8}.gallery-photo:nth-child(3){border-color:#8cbd3e}.gallery-photo:nth-child(4){border-color:#f8c64f}.gallery-photo img{width:100%;height:235px;object-fit:cover;display:block;transition:transform .2s}.gallery-photo:hover img{transform:scale(1.04)}.map-frame{border-radius:15px;overflow:hidden;margin-bottom:20px}.map-frame iframe{display:block;width:100%;height:290px;border:0}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:#101723ed;z-index:999;display:flex;align-items:center;justify-content:center;padding:60px 20px 20px}.lightbox img{max-width:95vw;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;top:12px;right:25px;color:white;background:none;border:0;font-size:46px;cursor:pointer}footer a{font-weight:700}@media(max-width:760px){.space-gallery{grid-template-columns:repeat(2,1fr)}.gallery-photo img{height:180px}}
/* Contact and consent controls */
.contact-form{display:grid;gap:14px;margin-top:14px}.contact-form label{display:grid;gap:6px;font-weight:600}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #d5dbe5;border-radius:10px;padding:12px;font:inherit;background:#fff;color:#273040}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #26a6d8;outline-offset:1px}.contact-form .consent-check{display:block;font-weight:400;font-size:.9rem;line-height:1.5}.consent-check input{margin-right:6px}.form-note{font-size:.85rem;opacity:.8}.form-feedback{padding:12px;border-radius:9px}.form-feedback.ok{background:#e6f6e8}.form-feedback.error{background:#fff0ee}.trap{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}.cookie-banner{position:fixed;bottom:18px;left:18px;z-index:10000;width:min(480px,calc(100vw - 36px));padding:22px;background:white;border:1px solid #e9dce7;border-top:5px solid #e72388;box-shadow:0 10px 40px #0003;border-radius:16px;color:#273040}.cookie-banner[hidden],.privacy-modal[hidden]{display:none!important}.cookie-banner p{margin:8px 0 16px;line-height:1.5}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-actions button{cursor:pointer;padding:11px 15px;border-radius:9px;border:1px solid #cfd6df;background:white;font:inherit}.cookie-actions .btn{background:#e72388;color:white;border-color:#e72388}.map-placeholder{min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:#f1f9fc;border-radius:12px}.privacy-modal{position:fixed;inset:0;background:#0009;z-index:10001;display:grid;place-items:center;padding:20px}.privacy-panel{position:relative;max-width:680px;max-height:85vh;overflow:auto;background:white;padding:30px;border-radius:18px;color:#273040}.privacy-panel #privacy-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}

/* v7 — gentle motion and original Joomla contact video */
html{scroll-behavior:smooth}
.contact-video-section{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;margin-bottom:45px;padding:55px 28px!important}
.contact-video-bg,.contact-video-shade{position:absolute;inset:0;z-index:-2}
.contact-video-bg video{width:100%;height:100%;object-fit:cover;display:block}
.contact-video-shade{z-index:-1;background:linear-gradient(110deg,rgba(255,255,255,.91),rgba(255,255,255,.80))}
.contact-video-content{position:relative;z-index:1}
.contact-video-section .formbox{background:rgba(255,255,255,.94);backdrop-filter:blur(6px)}
@media(min-width:800px){.contact-video-section{padding:75px 42px!important}}
@media(prefers-reduced-motion:no-preference){.motion-ready .reveal-on-scroll{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal-on-scroll.is-visible{opacity:1;transform:none}.values article,.cards article,.team article,.gallery-photo{transition:transform .3s ease,box-shadow .3s ease}.values article:hover,.cards article:hover,.team article:hover,.gallery-photo:hover{transform:translateY(-5px)}.hero-overlay .wrap{animation:hero-arrive .85s ease both}@keyframes hero-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact-video-bg video{display:none}}

/* v7.1: keep video above section background and beneath content */
.contact-video-section{isolation:isolate;background:#e9f6fb!important}
.contact-video-bg{z-index:0!important;pointer-events:none}
.contact-video-shade{z-index:1!important;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.67),rgba(255,255,255,.58))!important}
.contact-video-content{position:relative;z-index:2!important}
.contact-video-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
