:root{--white:#f9ffff;--blue:#2688c9;--mist:#cad9ee;--ink:#0c2f49;--deep:#09263d;--line:rgba(12,47,73,.18);--serif:"Manrope",sans-serif;--sans:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-weight:300}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip{position:fixed;top:-60px;left:20px;z-index:1000;background:#fff;padding:12px 20px}.skip:focus{top:20px}.loader{position:fixed;inset:0;background:var(--deep);z-index:999;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:transform .9s cubic-bezier(.77,0,.18,1)}.loader.hide{transform:translateY(-100%)}.loader-mark{color:#fff;font:500 30px var(--serif);letter-spacing:-2px}.loader-line{width:100px;height:1px;background:#ffffff30;margin-top:20px;overflow:hidden}.loader-line i{display:block;width:100%;height:100%;background:var(--blue);animation:load 1.3s ease-in-out}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(0)}}.site-header{height:88px;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;padding:0 4vw;color:#fff;border-bottom:1px solid #ffffff32}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:12px;font-weight:600}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy b{font-family:var(--serif);font-size:15px;letter-spacing:.03em}.brand-copy small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:5px}.desktop-nav{display:flex;margin:auto;gap:35px;font-size:13px}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:.3s}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.header-cta span{margin-left:14px}.menu-toggle{display:none;background:none;border:0;color:#fff;padding:10px}.menu-toggle i{display:block;width:25px;height:1px;background:currentColor;margin:6px}.mobile-menu{display:none}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;color:#fff;background:#123b5c}.hero-media{position:absolute;inset:0;background:url("https://images.pexels.com/photos/3845983/pexels-photo-3845983.jpeg?auto=compress&cs=tinysrgb&w=2000") 58% 35%/cover;animation:heroZoom 14s ease-out both}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,31,51,.82),rgba(10,47,73,.3) 58%,rgba(10,47,73,.15)),linear-gradient(0deg,rgba(5,28,45,.6),transparent 45%)}.hero-orbit{position:absolute;border:1px solid #ffffff2e;border-radius:50%;pointer-events:none}.orbit-one{width:700px;height:700px;right:-250px;top:14%;animation:float 10s ease-in-out infinite}.orbit-two{width:420px;height:420px;right:-80px;top:32%;animation:float 8s 1s ease-in-out infinite reverse}@keyframes float{50%{transform:translate(-15px,20px)}}.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:110px 7vw 80px}.eyebrow,.section-label{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:500}.eyebrow{margin:0 0 30px}.hero h1,.display{font-family:var(--serif);font-size:clamp(56px,7.6vw,122px);line-height:.92;letter-spacing:-.06em;font-weight:300;margin:0}.hero h1 em,.display em{font-weight:300;color:var(--mist)}.hero-bottom{display:flex;align-items:flex-end;gap:8vw;margin-top:45px}.hero-bottom>p{font-size:17px;line-height:1.55;max-width:440px;margin:0}.circle-link{width:130px;height:130px;border:1px solid #ffffff80;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:14px;font-size:11px;line-height:1.3;transition:.35s}.circle-link:hover{background:#fff;color:var(--ink);transform:rotate(-5deg)}.circle-link b{font-size:20px}.hero-locations{position:absolute;z-index:2;right:4vw;bottom:35px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;display:flex;align-items:center;gap:10px}.hero-locations span{opacity:.5}.hero-locations i{display:block;width:30px;height:1px;background:#ffffff70}.section-pad{padding:130px 7vw}.section-label{display:flex;align-items:center;gap:14px;margin-bottom:75px}.section-label span{border:1px solid currentColor;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:8px}.intro-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:10vw;align-items:end}.intro .display{font-size:clamp(42px,5.5vw,88px);line-height:1.02}.intro-copy{font-size:15px;line-height:1.75}.intro-copy p:first-child{font-size:19px;line-height:1.55}.text-link,.map-link{display:inline-flex;gap:30px;border-bottom:1px solid currentColor;padding:10px 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.legacy-card{margin-top:100px;min-height:430px;background:var(--mist);display:grid;grid-template-columns:1.4fr .7fr 1fr;align-items:center}.legacy-photo{height:100%;min-height:430px;background:url("https://images.pexels.com/photos/305565/pexels-photo-305565.jpeg?auto=compress&cs=tinysrgb&w=1200") center/cover}.legacy-stat{padding:30px}.legacy-stat strong{font:300 clamp(70px,9vw,140px)/1 var(--serif);letter-spacing:-.08em}.legacy-stat sup{font-size:.35em;color:var(--blue)}.legacy-stat span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;line-height:1.5}.legacy-card>p{font:300 21px/1.55 var(--serif);padding:40px;border-left:1px solid #819bbd}.services{background:var(--deep);color:#fff}.light{color:#fff}.services-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:85px}.services .display{font-size:clamp(50px,6.5vw,100px)}.services-head>p{max-width:330px;line-height:1.6}.service-list{border-top:1px solid #ffffff38}.service-row{color:#fff;width:100%;background:none;border:0;border-bottom:1px solid #ffffff38;display:grid;grid-template-columns:70px 1fr 240px 30px;align-items:center;text-align:left;padding:27px 0;cursor:pointer;transition:.35s}.service-row:hover{background:var(--blue);padding-left:25px;padding-right:25px}.service-row span{font-size:9px;opacity:.6}.service-row h3{font:300 clamp(26px,3vw,47px)/1 var(--serif);letter-spacing:-.04em;margin:0}.service-row small{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.65}.service-row b{font-size:20px;font-weight:300}.experience{min-height:800px;display:grid;grid-template-columns:1.15fr .85fr;background:var(--mist)}.experience-media{background:url("https://images.pexels.com/photos/3845983/pexels-photo-3845983.jpeg?auto=compress&cs=tinysrgb&w=1400") 75% center/cover;filter:saturate(.75)}.experience-panel{padding:100px 6vw;display:flex;flex-direction:column;justify-content:center}.experience-panel h2{font:300 clamp(38px,4vw,65px)/1.05 var(--serif);letter-spacing:-.05em}.experience-points{border-top:1px solid var(--line);margin-top:30px}.experience-points>div{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:23px 0}.experience-points b{font-size:9px;color:var(--blue)}.experience-points span{font-size:13px;line-height:1.5}.experience-points strong{display:block;font-size:15px;margin-bottom:5px}.team-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.team .display{font-size:clamp(43px,5.7vw,86px)}.team-heading>p{max-width:300px;line-height:1.6}.team-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.person-photo{aspect-ratio:3/4;background-size:cover;background-position:center;position:relative;overflow:hidden}.person-photo span{position:absolute;bottom:12px;left:12px;background:#f9ffffd9;padding:8px 10px;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.person-one{background-image:url("https://images.pexels.com/photos/5214958/pexels-photo-5214958.jpeg?auto=compress&cs=tinysrgb&w=900")}.person-two{background-image:url("https://images.pexels.com/photos/5452201/pexels-photo-5452201.jpeg?auto=compress&cs=tinysrgb&w=900")}.person-three{background-image:url("https://images.pexels.com/photos/3768126/pexels-photo-3768126.jpeg?auto=compress&cs=tinysrgb&w=900")}.person h3{font:400 22px var(--serif);margin:20px 0 6px}.person p{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.photo-note{font-size:10px;opacity:.55;margin-top:30px}.locations{background:var(--blue);color:#fff}.locations>.display{font-size:clamp(50px,6.5vw,96px);margin-bottom:70px}.location-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff50}.location-card{padding:50px 6vw 20px 0}.location-card+article{padding-left:6vw;border-left:1px solid #ffffff50}.location-number{font-size:9px;letter-spacing:.15em}.location-card h3{font:300 clamp(30px,3vw,48px) var(--serif);letter-spacing:-.04em;margin:50px 0 25px}.location-card address{font-style:normal;line-height:1.7;min-height:65px}.phones{display:flex;gap:28px;margin:28px 0}.phones a{font:300 19px var(--serif)}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw}.faq .display{font-size:clamp(50px,6vw,90px)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;padding:28px 0;display:flex;justify-content:space-between;font:400 18px var(--serif);cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font:300 26px var(--sans);transition:.3s}details[open] summary span{transform:rotate(45deg)}details p{max-width:620px;line-height:1.7;margin:0 0 30px}.booking{background:var(--deep);color:#fff;padding:130px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.booking h2{font:300 clamp(48px,5.4vw,82px)/.98 var(--serif);letter-spacing:-.06em;margin:0 0 30px}.booking-copy>p{max-width:400px;line-height:1.7}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.booking-form label{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:0;border-bottom:1px solid #ffffff45;background:transparent;color:#fff;padding:14px 0;outline:none;border-radius:0}.booking-form select option{color:var(--ink)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--blue)}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#ffffff70}.booking-form .full,.booking-form button,.booking-form>small{grid-column:1/-1}.booking-form button{border:0;background:var(--blue);color:#fff;padding:22px 25px;display:flex;justify-content:space-between;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:11px;transition:.3s}.booking-form button:hover{background:#fff;color:var(--ink)}.booking-form>small{font-size:9px;opacity:.55}footer{background:#061d2f;color:#fff;padding:90px 7vw 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:80px;border-bottom:1px solid #ffffff27}.footer-top h2{font:300 clamp(35px,4.3vw,68px)/1.05 var(--serif);letter-spacing:-.05em;margin:0}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:60px 0}.footer-grid>div{display:flex;flex-direction:column;gap:12px;font-size:12px}.footer-grid b{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--mist);margin-bottom:8px}.footer-bottom{border-top:1px solid #ffffff27;padding-top:25px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.6}.whatsapp{position:fixed;right:20px;bottom:20px;z-index:15;border-radius:50px;background:var(--white);color:var(--ink);padding:12px 15px 12px 20px;box-shadow:0 8px 30px #00182d26;display:flex;align-items:center;gap:15px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.whatsapp b{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}.service-modal{width:min(600px,90vw);border:0;background:var(--white);color:var(--ink);padding:60px;box-shadow:0 30px 100px #00101e70}.service-modal::backdrop{background:#061d2fcf;backdrop-filter:blur(7px)}.modal-close{position:absolute;right:22px;top:15px;border:0;background:none;font-size:30px;color:inherit;cursor:pointer}.modal-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--blue)}.service-modal h2{font:300 clamp(38px,5vw,60px)/1 var(--serif);letter-spacing:-.05em}.service-modal p{font-size:16px;line-height:1.7}.service-modal a{display:inline-flex;margin-top:25px;padding-bottom:8px;border-bottom:1px solid;gap:30px;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-menu{display:flex;position:fixed;z-index:19;inset:0;background:var(--deep);color:#fff;padding:130px 7vw 50px;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.4s}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font:300 46px var(--serif);padding:8px 0}.mobile-menu p{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.intro-grid,.booking,.faq-grid{grid-template-columns:1fr}.intro-copy{max-width:600px}.legacy-card{grid-template-columns:1fr 1fr}.legacy-card>p{grid-column:1/-1;border-left:0;border-top:1px solid #819bbd}.services-head,.team-heading{display:block}.services-head>p,.team-heading>p{margin-top:35px}.experience{grid-template-columns:1fr}.experience-media{min-height:560px}.booking{gap:70px}.footer-top{display:block}.footer-top h2{margin-top:60px}.footer-grid{grid-template-columns:1fr 1fr}.hero-locations{display:none}}
@media(max-width:600px){.site-header{height:74px}.hero{min-height:680px}.hero-content{padding:100px 6vw 70px;justify-content:flex-end}.hero h1{font-size:51px}.eyebrow{margin-bottom:18px}.hero-bottom{display:block;margin-top:30px}.hero-bottom>p{font-size:14px;max-width:290px}.circle-link{width:100px;height:100px;margin-top:25px}.section-pad{padding:90px 6vw}.section-label{margin-bottom:50px}.intro .display,.services .display,.team .display,.locations>.display,.faq .display{font-size:42px}.legacy-card{margin-top:60px;display:block}.legacy-photo{min-height:350px}.legacy-stat{padding:35px}.legacy-card>p{margin:0;padding:35px;font-size:18px}.services-head{margin-bottom:55px}.service-row{grid-template-columns:35px 1fr 20px;padding:22px 0}.service-row h3{font-size:26px}.service-row small{display:none}.service-row:hover{padding-left:10px;padding-right:10px}.experience-media{min-height:480px}.experience-panel{padding:80px 6vw}.team-grid{grid-template-columns:1fr;gap:45px}.location-grid{grid-template-columns:1fr}.location-card{padding:45px 0}.location-card+article{padding-left:0;border-left:0;border-top:1px solid #ffffff50}.location-card h3{margin-top:35px}.booking{padding:90px 6vw}.booking-form{grid-template-columns:1fr}.booking-form label,.booking-form .full,.booking-form button,.booking-form>small{grid-column:1}.footer-grid{grid-template-columns:1fr 1fr}.footer-top{padding-bottom:50px}.footer-top h2{font-size:38px}.whatsapp span{display:none}.service-modal{padding:50px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Brand assets and revised hero composition */
.brand{gap:0}.brand img{display:block;width:178px;height:auto;max-height:68px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.footer-brand img{width:330px;max-width:100%;max-height:none}
.hero-media{background-image:url("prin.jpg");background-position:58% 52%}
.hero-wash{background:linear-gradient(90deg,rgba(5,31,51,.91),rgba(10,47,73,.48) 58%,rgba(10,47,73,.22)),linear-gradient(0deg,rgba(5,28,45,.64),transparent 48%)}
.hero-bottom{align-items:center;gap:55px;margin-top:32px}.hero-link{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid #ffffffa8;padding:11px 0;font-size:11px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;transition:gap .3s}.hero-link:hover{gap:48px}
.person-one{background-image:url("Wendy.jpg");background-position:center 35%}.person-two{background-image:url("Ville.jpg");background-position:center 38%}.person-three{background-image:url("Valery.jpg");background-position:center 38%}
.legacy-photo{background-image:url("img1.jpeg");background-position:center center}
.experience-media{background-image:url("img2.jpeg");background-position:center center;filter:saturate(.9)}
.whatsapp{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .3s,transform .3s,visibility .3s}.whatsapp.is-hidden{opacity:0;transform:translateY(18px);visibility:hidden;pointer-events:none}
@media(max-width:600px){.brand img{width:145px;max-height:58px}.footer-brand img{width:285px;max-height:none}.hero-media{background-position:61% center}.hero-bottom{display:block;margin-top:24px}.hero-bottom>p{max-width:315px}.hero-link{margin-top:20px}.legacy-photo{background-position:center center}.experience-media{background-position:center center}}

/* Controlled scroll motion and form alignment */
.booking-form{align-self:start;align-content:start;grid-auto-rows:max-content}
.booking-form button{height:60px;min-height:60px;padding:0 25px;align-items:center}
.reveal{transition-delay:var(--reveal-delay,0ms)}
.reveal[data-motion="left"]{transform:translateX(-42px)}
.reveal[data-motion="right"]{transform:translateX(42px)}
.reveal[data-motion="scale"]{transform:scale(.965);transform-origin:center}
.reveal.visible{opacity:1;transform:none}
.person-photo,.legacy-photo,.experience-media{transition:filter .6s ease,background-size .9s cubic-bezier(.2,.7,.2,1)}
.person:hover .person-photo{background-size:105%;filter:saturate(1.05)}
@media(max-width:600px){.booking-form button{height:58px;min-height:58px}.reveal[data-motion="left"],.reveal[data-motion="right"]{transform:translateY(26px)}.reveal.visible{transform:none}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal[data-motion="left"],.reveal[data-motion="right"],.reveal[data-motion="scale"]{opacity:1;transform:none}.person:hover .person-photo{background-size:cover}}

/* Cinematic motion system */
html{background:#061d2f}body{min-height:100%;overflow-x:clip}.loader-isotype{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 0 30px rgba(38,136,201,.5));animation:loaderPulse 1.8s ease-in-out infinite}.loader>span{margin-top:16px;color:#cad9ee;font-size:8px;text-transform:uppercase;letter-spacing:.28em}.loader-line{margin-top:24px}@keyframes loaderPulse{50%{transform:scale(1.06);filter:drop-shadow(0 0 45px rgba(60,203,229,.72))}}
.scroll-progress{position:fixed;z-index:200;left:0;top:0;width:100%;height:2px;pointer-events:none}.scroll-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#6de6f4,var(--blue));transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px #6de6f4}
.cursor-glow{position:fixed;z-index:12;width:320px;height:320px;border-radius:50%;pointer-events:none;left:0;top:0;opacity:.13;background:radial-gradient(circle,rgba(116,224,246,.62),transparent 67%);transform:translate3d(-50%,-50%,0);mix-blend-mode:screen;transition:opacity .25s}
.hero-media{will-change:transform;background-color:#0b304c}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block;filter:saturate(.78) contrast(1.05);transform:scale(1.035)}
.hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(154,230,244,.11) 48%,transparent 63%);transform:translateX(-120%);animation:heroShimmer 7s 1.4s ease-in-out infinite}@keyframes heroShimmer{45%,100%{transform:translateX(120%)}}
.motion-marquee{overflow:hidden;background:var(--white);color:var(--blue);border-block:1px solid var(--line);padding:23px 0}.motion-marquee>div{width:max-content;display:flex;align-items:center;gap:34px;animation:marqueeMove 24s linear infinite}.motion-marquee span{font:300 clamp(24px,3vw,43px) var(--serif);letter-spacing:-.04em}.motion-marquee i{font-style:normal;font-size:13px}@keyframes marqueeMove{to{transform:translateX(-50%)}}
.section-pad{position:relative;isolation:isolate;overflow:hidden}.section-pad>*{position:relative;z-index:1}.intro:before,.team:before,.faq:before{content:"";position:absolute;z-index:0;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(202,217,238,.62),transparent 68%);right:-180px;top:calc(12% + var(--ambient-shift,0px));opacity:.52;transition:opacity 1.2s;pointer-events:none}.team:before{left:-220px;right:auto;top:calc(30% + var(--ambient-shift,0px));background:radial-gradient(circle,rgba(38,136,201,.16),transparent 68%)}.faq:before{top:calc(10% + var(--ambient-shift,0px))}.section-pad.in-view:before{opacity:.9}
.legacy-card,.person,.location-card{transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s}.legacy-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(12,47,73,.14)}.person:hover{transform:translateY(-9px)}.location-card:hover{transform:translateY(-5px)}
.service-row h3,.service-row small,.service-row b{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.service-row:hover h3{transform:translateX(12px)}.service-row:hover small{transform:translateX(-8px)}.service-row:hover b{transform:rotate(45deg)}
.developer-credit{display:inline-flex;align-items:center;gap:9px;text-align:center;transition:color .3s}.developer-credit:hover{color:#6de6f4}.developer-credit b{font-size:12px;font-weight:300}
footer{position:relative;margin:0;overflow:hidden}footer:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(202,217,238,.08);border-radius:50%;right:-240px;bottom:-300px;box-shadow:0 0 0 70px rgba(202,217,238,.025),0 0 0 140px rgba(202,217,238,.018);pointer-events:none}.footer-bottom{align-items:center;gap:25px}.footer-bottom>*{flex:1}.footer-bottom>*:last-child{text-align:right}
@media(max-width:900px){.cursor-glow{display:none}.footer-bottom{flex-wrap:wrap}.developer-credit{order:3;flex-basis:100%;justify-content:center;margin-top:8px}.hero-media video{object-position:58% center}}
@media(max-width:600px){.motion-marquee{padding:17px 0}.motion-marquee>div{gap:25px;animation-duration:18s}.hero-media video{object-position:56% center}.footer-bottom>*{flex-basis:100%;text-align:center!important}.developer-credit{line-height:1.5}.loader-isotype{width:96px;height:96px}}
@media(prefers-reduced-motion:reduce){.loader-isotype,.motion-marquee>div,.hero:after{animation:none}.hero-media{transform:none!important}.cursor-glow{display:none}}

/* Multi-clip dental hero */
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block;filter:saturate(.78) contrast(1.05);transform:scale(1.035);opacity:0;transition:opacity 1.05s ease;pointer-events:none}
.hero-media video.active{opacity:1}.hero-media video:first-child{z-index:2}
.hero:after{display:none!important;animation:none!important}

/* Final pre-publication interaction polish */
.motion-marquee{overflow:hidden}.motion-marquee>.marquee-track{width:max-content;display:flex;gap:0;animation:none;will-change:transform}.marquee-group{display:flex;align-items:center;gap:34px;padding-right:34px;flex:none}.marquee-group span{font:300 clamp(24px,3vw,43px) var(--serif);letter-spacing:-.04em;white-space:nowrap}.marquee-group i{font-style:normal;font-size:13px;flex:none}
.dp-cursor{position:fixed;z-index:9998;left:0;top:0;width:44px;height:44px;pointer-events:none;opacity:0;transform:translate3d(-50%,-50%,0);transition:opacity .25s ease;mix-blend-mode:difference}.dp-cursor i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .35s,border-color .35s}.dp-cursor b{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #fff}.custom-cursor-ready,.custom-cursor-ready a,.custom-cursor-ready button,.custom-cursor-ready summary,.custom-cursor-ready input,.custom-cursor-ready select,.custom-cursor-ready textarea{cursor:none}.dp-cursor.is-active i{transform:scale(1.65);background:rgba(255,255,255,.12);border-color:#fff}.dp-cursor.is-active b{transform:translate(-50%,-50%) scale(.55)}
.menu-toggle{position:relative;z-index:22;width:45px;height:45px}.menu-toggle i{position:absolute;left:10px;top:50%;margin:0;transform-origin:center;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .25s}.menu-toggle i:first-child{transform:translateY(-5px)}.menu-toggle i:last-child{transform:translateY(5px)}.menu-toggle[aria-expanded="true"] i:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{transform:rotate(-45deg)}
.magnetic{will-change:transform}
@media(max-width:600px){.footer-brand{width:100%;justify-content:center}.footer-brand img{margin-inline:auto}.whatsapp span{display:inline!important}.whatsapp{padding:10px 12px 10px 16px;gap:10px;right:14px;bottom:14px}.whatsapp b{width:28px;height:28px}.marquee-group{gap:25px;padding-right:25px}}
@media(max-width:900px){.dp-cursor{display:none}.custom-cursor-ready,.custom-cursor-ready a,.custom-cursor-ready button,.custom-cursor-ready summary,.custom-cursor-ready input,.custom-cursor-ready select,.custom-cursor-ready textarea{cursor:auto}}
@media(prefers-reduced-motion:reduce){.dp-cursor{display:none}.motion-marquee>.marquee-track{transform:none!important}.magnetic{transform:none!important}}

/* Editorial scroll phases: depth without changing the approved composition */
.phase-section{--phase-shift:0px;--title-shift:0px;--media-shift:0px;position:relative;isolation:isolate;overflow:hidden}
.phase-section>*{position:relative;z-index:1}.phase-section>.phase-curtain{position:absolute;z-index:8;inset:0;display:block;pointer-events:none;background:linear-gradient(135deg,rgba(202,217,238,.3),rgba(38,136,201,.12));transform:scaleY(1);transform-origin:bottom;transition:transform 1.15s cubic-bezier(.77,0,.18,1),opacity .8s ease;opacity:.72}
.phase-section.phase-entered>.phase-curtain{transform:scaleY(0);opacity:0}
.phase-section:after{content:attr(data-phase);position:absolute;z-index:0;right:-.035em;top:50%;font:300 clamp(150px,24vw,390px)/.75 var(--serif);letter-spacing:-.1em;color:currentColor;opacity:.024;pointer-events:none;transform:translate3d(0,calc(-50% + var(--phase-shift)),0);transition:opacity 1s ease;will-change:transform}
.phase-section.in-view:after{opacity:.055}.services.phase-section:after,.booking.phase-section:after{opacity:.035}.locations.phase-section:after{opacity:.045}
.phase-section .section-label,.phase-section .display,.phase-section .team-heading,.phase-section .services-head{translate:0 var(--title-shift);will-change:translate}
.depth-media{translate:0 var(--media-shift);scale:1.045;will-change:translate;transition:filter .6s ease,clip-path 1.1s cubic-bezier(.2,.7,.2,1)!important}
.depth-media.reveal{clip-path:inset(0 0 12% 0)}.depth-media.reveal.visible{clip-path:inset(0)}
.service-row{position:relative;overflow:hidden}.service-row:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#8bdceb;transform:scaleX(0);transform-origin:left;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.service-row.visible:after{transform:scaleX(1)}
.person-photo{background-size:cover!important;isolation:isolate;transition:filter .6s ease!important}.person-photo:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(145deg,rgba(109,230,244,.16),transparent 42%,rgba(9,38,61,.14));opacity:0;transform:translateY(8%);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}.person-photo span{z-index:1}.person:hover .person-photo{background-size:cover!important;filter:saturate(1.05) contrast(1.025)}.person:hover .person-photo:after{opacity:1;transform:none}
@media(max-width:900px){.phase-section:after{font-size:32vw;opacity:.02}.phase-section.in-view:after{opacity:.04}.depth-media{scale:1.035}}
@media(max-width:600px){.phase-section .section-label,.phase-section .display,.phase-section .team-heading,.phase-section .services-head{translate:0 calc(var(--title-shift)*.45)}.phase-section:after{right:-.08em}.phase-section>.phase-curtain{transition-duration:.9s}}
@media(prefers-reduced-motion:reduce){.phase-section>.phase-curtain{display:none}.phase-section:after{transform:translateY(-50%)}.phase-section .section-label,.phase-section .display,.phase-section .team-heading,.phase-section .services-head,.depth-media{translate:none;scale:1}.depth-media.reveal{clip-path:none}.person-photo:after{display:none}}

/* Softer FAQ accordion */
.faq details{transition:background-color .45s ease}
.faq details[open]{background:rgba(202,217,238,.18)}
.faq summary{align-items:center;gap:25px;transition:padding .45s cubic-bezier(.2,.75,.2,1),color .3s ease}
.faq summary:hover{color:var(--blue)}
.faq details[open] summary{padding-left:18px;padding-right:18px}
.faq summary span{transition:transform .5s cubic-bezier(.2,.75,.2,1),color .3s ease}
.faq details[open] summary span{color:var(--blue)}
.faq details p{margin-left:18px;margin-right:18px;transform-origin:top}

/* Native cursor inside the top-layer service dialog */
.custom-cursor-ready .service-modal[open],
.custom-cursor-ready .service-modal[open] *{cursor:default!important}
.custom-cursor-ready .service-modal[open] .modal-close,
.custom-cursor-ready .service-modal[open] a{cursor:pointer!important}

/* Location films */
.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px}
.location-video-trigger{appearance:none;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(249,255,255,.08);color:#fff;min-height:45px;padding:0 17px 0 11px;display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s cubic-bezier(.2,.75,.2,1)}
.location-video-trigger i{width:25px;height:25px;border-radius:50%;background:#fff;position:relative;flex:none;transition:transform .4s cubic-bezier(.2,.75,.2,1)}
.location-video-trigger i:after{content:"";position:absolute;left:10px;top:8px;border-left:6px solid var(--blue);border-top:4px solid transparent;border-bottom:4px solid transparent}
.location-video-trigger>span{font-size:8px;opacity:.7}
.location-video-trigger:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
.location-video-trigger:hover i{transform:rotate(8deg) scale(1.08)}
.location-video-modal{width:min(1120px,94vw);max-width:none;border:0;padding:0;background:transparent;color:#fff;overflow:visible}
.location-video-modal::backdrop{background:rgba(4,20,32,.78);backdrop-filter:blur(18px) saturate(.7);-webkit-backdrop-filter:blur(18px) saturate(.7);animation:videoBackdropIn .45s ease both}
.location-video-modal[open]{animation:videoModalIn .55s cubic-bezier(.2,.75,.2,1) both}
.location-video-shell{position:relative;background:#061d2f;border:1px solid rgba(202,217,238,.22);box-shadow:0 40px 120px rgba(0,10,22,.58);padding:22px}
.location-video-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:4px 58px 20px 3px}
.location-video-head span{font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--mist)}
.location-video-head h2{font:300 clamp(24px,3vw,42px)/1 var(--serif);letter-spacing:-.045em;margin:0}
.location-video-close{position:absolute;z-index:2;right:19px;top:17px;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(6,29,47,.72);color:#fff;font-size:27px;font-weight:200;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,transform .35s}
.location-video-close:hover{background:#fff;color:var(--ink);transform:rotate(90deg)}
.location-video-modal video{display:block;width:100%;max-height:72vh;aspect-ratio:16/9;object-fit:contain;background:#02090e}
.location-video-modal.is-portrait{width:min(520px,94vw)}
.location-video-modal.is-portrait video{width:auto;max-width:100%;height:min(72vh,800px);max-height:none;aspect-ratio:auto;margin-inline:auto}
.custom-cursor-ready .location-video-modal[open],
.custom-cursor-ready .location-video-modal[open] *{cursor:default!important}
.custom-cursor-ready .location-video-modal[open] button,
.custom-cursor-ready .location-video-modal[open] video{cursor:pointer!important}
@keyframes videoModalIn{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:none}}
@keyframes videoBackdropIn{from{opacity:0}to{opacity:1}}
@media(max-width:600px){
  .location-actions{align-items:flex-start;flex-direction:column;gap:17px}
  .location-video-trigger{min-height:43px;font-size:9px}
  .location-video-modal{width:94vw}
  .location-video-shell{padding:10px}
  .location-video-head{display:block;padding:8px 50px 14px 4px}
  .location-video-head h2{font-size:25px;margin-top:7px}
  .location-video-close{right:10px;top:10px;width:38px;height:38px}
  .location-video-modal video{max-height:74svh}
}
@media(prefers-reduced-motion:reduce){.location-video-modal[open],.location-video-modal::backdrop{animation:none}}
