:root{
  --primary:#01bdb2;
  --secondary:#142959;
  --secondary-dark:#102247;
  --mint:#6fc4b7;
  --body:#6d7a8c;
  --soft:#f7f9fb;
  --line:#e9edf2;
  --white:#fff;
  --shadow:0 16px 44px rgba(20,41,89,.11);
  --shadow-sm:0 8px 24px rgba(20,41,89,.08);
  --container:1410px;
  --radius:6px;
  --hero-photo:url('../images/hero-photo-1.jpg');
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--secondary);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.rtl{direction:rtl;font-family:'DM Sans',Tahoma,Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
:focus-visible{outline:3px solid rgba(1,189,178,.32);outline-offset:3px}
.container{width:min(var(--container),calc(100% - 74px));margin-inline:auto}
h1,h2,h3,h4,h5,h6,.btn,.main-nav,.top-item,.hero-kicker,.ref-kicker,.profile-stamp{font-family:'Outfit',Arial,sans-serif}

/* buttons */
.btn,.ref-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;min-height:55px;padding:0 26px;font:600 14px 'Outfit',Arial,sans-serif;cursor:pointer;transition:transform .28s ease,background .28s ease,color .28s ease,box-shadow .28s ease}
.btn-primary,.ref-btn-teal{background:var(--primary);color:#fff;box-shadow:0 10px 22px rgba(1,189,178,.16)}
.btn-primary:hover,.ref-btn-teal:hover{background:var(--secondary);transform:translateY(-2px)}
.ref-btn-navy{background:var(--secondary);color:#fff}
.ref-btn-navy:hover{background:var(--primary);transform:translateY(-2px)}
.ref-btn-light{background:#fff;color:var(--secondary)}
.ref-btn-light:hover{background:var(--primary);color:#fff}

/* top bar / header */
.topbar{height:59px;background:#fff;border-bottom:1px solid #edf0f4;position:relative;z-index:220;overflow:hidden;transition:height .28s ease,opacity .28s ease,transform .28s ease}
.topbar.hidden-on-scroll{height:0;opacity:0;transform:translateY(-100%)}
.topbar-inner{height:59px;display:flex;align-items:center}
.top-item{height:59px;display:inline-flex;align-items:center;gap:11px;padding:0 24px;border-right:1px solid #edf0f4;font-size:15px;font-weight:500;color:var(--secondary);white-space:nowrap}
.top-item:first-child{padding-inline-start:0}
.top-item:hover{color:var(--primary)}
.top-item .icon{width:21px;height:21px;position:relative;display:inline-block;flex:0 0 auto;color:var(--mint)}
.icon-pin:before{content:'⌖';font:700 22px/21px Arial}.icon-phone:before{content:'⌕';font:700 22px/21px Arial}.icon-mail:before{content:'✉';font:700 20px/21px Arial}
.top-spacer{flex:1}
.social-pill{width:45px;height:59px;display:grid;place-items:center;border-left:1px solid #edf0f4;font:700 13px/1 'Outfit';color:var(--secondary);transition:background .2s,color .2s}
.social-pill:hover{background:var(--soft);color:var(--primary)}
.site-header{position:absolute;z-index:210;top:59px;left:50%;transform:translateX(-50%);width:min(94.5%,1860px);background:#fff;border-radius:0 0 18px 18px;box-shadow:0 18px 40px rgba(20,41,89,.12);transition:top .28s ease,width .28s ease,border-radius .28s ease,box-shadow .28s ease,transform .28s ease}
.site-header.scrolled{position:fixed;top:0;width:100%;border-radius:0;box-shadow:0 8px 26px rgba(20,41,89,.15);animation:dropIn .28s ease}
@keyframes dropIn{from{transform:translate(-50%,-15px)}to{transform:translate(-50%,0)}}
.nav-inner{min-height:100px;padding:0 42px;display:flex;align-items:center;gap:26px}
.site-header.scrolled .nav-inner{min-height:82px}
.brand{display:flex;align-items:center;gap:14px;min-width:250px}
.brand-mark{width:70px;height:70px;border-radius:50%;overflow:hidden;flex:0 0 auto;background:#fff}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-wordmark{display:flex;flex-direction:column;line-height:.9;white-space:nowrap}
.brand-wordmark strong{font-size:30px;letter-spacing:-.055em;font-weight:700}
.brand-wordmark em{font-size:27px;font-style:normal;font-weight:600;color:var(--mint);letter-spacing:-.045em}
.main-nav{display:flex;align-items:stretch;justify-content:center;gap:2px;flex:1;height:100%}
.main-nav>a,.nav-trigger{position:relative;display:flex;align-items:center;gap:5px;border:0;background:none;color:var(--secondary);padding:0 16px;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap}
.main-nav>a:after,.nav-trigger:after{content:'';position:absolute;left:16px;right:16px;bottom:23px;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.main-nav>a:hover,.main-nav>a.active,.nav-trigger:hover,.nav-trigger.active{color:var(--primary)}
.main-nav>a:hover:after,.main-nav>a.active:after,.nav-trigger:hover:after,.nav-trigger.active:after{transform:scaleX(1)}
.nav-group{position:relative;height:100%;display:flex;align-items:stretch}
.nav-trigger .chevron{font-size:12px;transition:transform .2s ease}.nav-group:hover .chevron,.nav-group.open .chevron{transform:rotate(180deg)}
.classic-menu{position:absolute;left:0;top:calc(100% - 1px);width:253px;background:#fff;border-top:3px solid var(--primary);border-radius:0 0 8px 8px;box-shadow:0 18px 38px rgba(20,41,89,.15);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:250}
.nav-group:hover .classic-menu,.nav-group.open .classic-menu{opacity:1;visibility:visible;transform:translateY(0)}
.classic-menu a{display:block;padding:15px 23px;border-bottom:1px solid #eef1f4;font-size:15px;font-weight:600;color:var(--secondary);transition:padding .2s ease,color .2s ease,background .2s ease}
.classic-menu a:last-child{border-bottom:0}.classic-menu a:hover{padding-inline-start:28px;background:#fbfdfd;color:var(--primary)}
.nav-actions{display:flex;align-items:center;gap:13px;flex:0 0 auto}
.lang-switch{position:relative}.lang-switch>button{border:0;background:none;color:var(--secondary);font:600 12px 'Outfit';padding:10px 6px;cursor:pointer}.lang-switch>button span{margin-inline-start:4px}
.lang-menu{position:absolute;right:0;top:44px;display:none;min-width:135px;padding:6px;background:#fff;border-top:2px solid var(--primary);border-radius:0 0 7px 7px;box-shadow:var(--shadow-sm);z-index:300}
.lang-switch.open .lang-menu{display:block}.lang-menu a{display:block;padding:9px 12px;border-radius:4px;font:600 12px 'Outfit'}.lang-menu a:hover,.lang-menu a.current{background:var(--soft);color:var(--primary)}
.search-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;transition:background .2s}.search-button:hover{background:var(--soft)}
.icon-search{width:18px;height:18px;border:1.7px solid var(--secondary);border-radius:50%;position:relative;display:block}.icon-search:after{content:'';position:absolute;width:7px;height:2px;right:-5px;bottom:-2px;background:var(--secondary);transform:rotate(45deg);border-radius:2px}
.nav-cta{min-height:55px;padding-inline:24px;font-size:13px}
.mobile-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:7px;cursor:pointer}.mobile-toggle span{display:block;height:2px;background:var(--secondary);margin:6px 0;transition:transform .2s,opacity .2s}.menu-open .mobile-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-open .mobile-toggle span:nth-child(2){opacity:0}.menu-open .mobile-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-nav-languages{display:none}

/* hero faithful to original template */
.hero-ref{position:relative;min-height:850px;overflow:hidden;background:#eef3f6}
.hero-photo-layer{position:absolute;inset:0;background:linear-gradient(90deg,#eef3f6 0%,#eef3f6 19%,rgba(238,243,246,.97) 31%,rgba(238,243,246,.66) 47%,rgba(238,243,246,0) 67%),var(--hero-photo);background-repeat:no-repeat;background-size:auto 100%;background-position:right center;transform:scale(1.015);transition:transform 8s ease}
.hero-ref:hover .hero-photo-layer{transform:scale(1.035)}
.hero-soft-shade{position:absolute;inset:0;background:radial-gradient(circle at 30% 71%,rgba(255,255,255,.9) 0 17%,rgba(255,255,255,0) 31%),linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02))}
.hero-pattern{position:absolute;border-radius:50%;pointer-events:none}
.hero-pattern-a{width:540px;height:620px;right:-380px;top:-315px;border:1px solid rgba(1,189,178,.35);box-shadow:0 0 0 30px rgba(1,189,178,.04),0 0 0 62px rgba(1,189,178,.025),0 0 0 95px rgba(1,189,178,.018)}
.hero-pattern-b{width:270px;height:320px;left:-215px;bottom:-245px;border:1px solid rgba(20,41,89,.14);box-shadow:0 0 0 28px rgba(20,41,89,.025),0 0 0 56px rgba(20,41,89,.018)}
.hero-shell{position:relative;z-index:3;min-height:850px;display:flex;align-items:stretch;padding-top:170px;padding-bottom:72px}
.hero-copy{position:relative;width:65%;display:flex;align-items:center}
.hero-slides{position:relative;width:100%;min-height:440px}
.hero-slide{position:absolute;inset:0;max-width:775px;padding-top:58px;opacity:0;visibility:hidden;transform:translateX(-52px);transition:opacity .55s ease,transform .8s cubic-bezier(.22,.61,.36,1),visibility .55s ease}
.hero-slide.is-active{opacity:1;visibility:visible;transform:none}
.hero-slide>*{opacity:0;transform:translateX(-35px)}
.hero-slide.is-active .hero-kicker{animation:heroIn .7s .05s ease forwards}.hero-slide.is-active h1{animation:heroIn .8s .16s ease forwards}.hero-slide.is-active p{animation:heroIn .8s .28s ease forwards}.hero-slide.is-active .hero-actions{animation:heroIn .8s .4s ease forwards}
@keyframes heroIn{to{opacity:1;transform:none}}
.hero-kicker{display:inline-block;margin-bottom:17px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-slide h1{margin:0 0 23px;color:var(--secondary);font-size:clamp(58px,4.65vw,82px);line-height:.96;letter-spacing:-.055em;font-weight:600;max-width:770px}
.hero-slide h1 strong{font-weight:600}
.hero-slide p{max-width:680px;margin:0;color:var(--secondary);font-size:17px;line-height:1.65}
.hero-actions{display:flex;gap:12px;margin-top:29px}.hero-actions .ref-btn{min-width:150px}
.hero-hours-card{position:absolute;z-index:6;right:45px;bottom:78px;width:430px;padding:23px 26px 17px;background:#fff;border-radius:9px 9px 0 0;border-bottom:3px solid var(--mint);box-shadow:0 18px 42px rgba(20,41,89,.14)}
.hours-row{display:grid;grid-template-columns:1.05fr 1fr 86px;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-family:'Outfit',Arial,sans-serif}.hours-row:last-child{border-bottom:0}.hours-row strong{font-size:15px}.hours-row span{font-size:15px;color:#767d84;font-weight:600}.hours-row a{display:grid;place-items:center;min-height:48px;border-radius:6px;background:var(--mint);color:#fff;font:700 12px 'Outfit';transition:background .2s,transform .2s}.hours-row a:hover{background:var(--secondary);transform:translateY(-2px)}
.ref-slider-arrow{position:absolute;z-index:7;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(52,58,67,.75);color:#fff;font:400 36px/1 Arial;cursor:pointer;transition:background .2s,transform .2s}.ref-slider-arrow:hover{background:var(--primary);transform:translateY(-50%) scale(1.05)}.ref-prev{left:-4px}.ref-next{right:-4px}
.hero-slider-footer{position:absolute;z-index:7;left:0;right:0;bottom:29px;display:flex;justify-content:space-between;align-items:center;color:rgba(20,41,89,.76);font:700 11px 'Outfit';letter-spacing:.08em}.ref-dots{display:flex;align-items:center;gap:9px}.ref-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#cad3dd;cursor:pointer;transition:transform .2s,background .2s}.ref-dot.active{background:var(--primary);transform:scale(1.28)}

/* section headings */
.ref-section{padding:83px 0;background:#fff}.ref-kicker{display:inline-block;margin-bottom:10px;color:var(--mint);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.ref-kicker.white{color:#b9eee7}.ref-heading-row{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:end;margin-bottom:42px}.ref-heading-row h2,.ref-centered h2,.ref-copy h2,.why-copy h2,.profile-copy h2,.location-ref-grid h2{margin:0;color:var(--secondary);font-size:clamp(36px,3.4vw,52px);line-height:1.02;letter-spacing:-.055em}.ref-heading-row p,.ref-centered>p{margin:0;color:var(--body);font-size:14px;line-height:1.9}.ref-centered{text-align:center}.ref-centered>p{max-width:740px;margin:12px auto 0}

/* source-faithful four cards */
.four-ref-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ref-feature-card{position:relative;min-height:245px;padding:39px 30px 34px;border-right:1px solid var(--line);overflow:hidden;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.ref-feature-card:last-child{border-right:0}.ref-feature-card:before{content:'';position:absolute;inset:auto 0 0 0;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .25s}.ref-feature-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 16px 34px rgba(20,41,89,.07);z-index:2}.ref-feature-card:hover:before{transform:scaleX(1)}
.feature-number{position:absolute;top:21px;right:23px;color:#b3bdc9;font:700 10px 'Outfit'}.feature-icon{width:54px;height:54px;border:1px solid #9dddd6;border-radius:50%;display:grid;place-items:center;color:var(--primary);font-size:23px;margin-bottom:27px}.ref-feature-card h3{margin:0 0 11px;font-size:20px;line-height:1.15}.ref-feature-card p{margin:0;max-width:240px;color:var(--body);font-size:12px;line-height:1.8}.ref-arrow{position:absolute;left:30px;bottom:23px;color:var(--primary);font:400 26px/1 Arial;transition:transform .2s}.ref-feature-card:hover .ref-arrow{transform:translateX(5px)}

/* about collage */
.ref-about{padding:93px 0 76px;background:#fff}.ref-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.ref-photo-collage{position:relative;min-height:530px}.ref-photo-main{position:absolute;left:40px;top:22px;width:72%;height:440px;border-radius:2px;overflow:hidden;box-shadow:0 20px 40px rgba(20,41,89,.12)}.ref-photo-main img,.ref-photo-small img{width:100%;height:100%;object-fit:cover}.ref-photo-small{position:absolute;right:0;bottom:0;width:42%;height:182px;border:11px solid #fff;box-shadow:0 18px 36px rgba(20,41,89,.12);overflow:hidden;border-radius:4px}.ref-vertical{position:absolute;left:0;bottom:38px;color:#eef0f4;writing-mode:vertical-rl;transform:rotate(180deg);font:700 21px 'Outfit';letter-spacing:.22em}.ref-circle{position:absolute;right:25%;top:0;width:132px;height:132px;border-radius:50%;background:#f7f8fa;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 23px rgba(20,41,89,.05)}.ref-circle small{position:absolute;inset:10px;width:112px;height:112px;display:grid;place-items:center;border-radius:50%;font:700 9px/1.8 'Outfit';letter-spacing:.13em;color:var(--secondary);text-align:center;transform-origin:center;animation:spinSlow 18s linear infinite}.ref-circle span{position:relative;z-index:2;color:var(--mint);font-size:30px}.ref-circle:hover small{animation-duration:8s}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.ref-copy p{margin:17px 0 22px;max-width:700px;color:var(--body);font-size:14px;line-height:1.9}.ref-checks{display:grid;grid-template-columns:1fr 1fr;gap:13px 38px;margin:27px 0}.ref-checks div{font:700 12px 'Outfit';color:var(--secondary)}.ref-checks div:first-letter{color:var(--primary)}.ref-focus-bar{margin:16px 0 23px}.ref-focus-bar>div{display:flex;justify-content:space-between;gap:20px;align-items:end}.ref-focus-bar strong{font:600 18px 'Outfit'}.ref-focus-bar span{font:500 11px 'Outfit';color:#7d8794;text-align:right}.ref-focus-bar i{display:block;height:5px;margin-top:9px;border-radius:99px;background:linear-gradient(90deg,var(--mint) 0%,var(--primary) 72%,#eef1f4 72%)}.ref-action-row{display:flex;align-items:center;gap:28px}.ref-phone{display:flex;align-items:center;gap:12px}.ref-phone>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#fff;font-size:21px}.ref-phone strong{display:block;font:700 14px 'Outfit'}.ref-phone small{display:block;margin-top:3px;color:#7b8795;font-size:10px}

/* teal service band */
.ref-teal-band{position:relative;padding:73px 0 0;background:#70c5b7;color:#fff;overflow:hidden}.ref-hex-pattern{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(30deg,transparent 48%,rgba(255,255,255,.62) 49%,rgba(255,255,255,.62) 51%,transparent 52%),linear-gradient(150deg,transparent 48%,rgba(255,255,255,.62) 49%,rgba(255,255,255,.62) 51%,transparent 52%);background-size:140px 82px}.ref-band-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:end;padding-bottom:52px}.ref-band-inner h2{margin:0;color:#fff;font-size:clamp(41px,4vw,62px);line-height:.99;letter-spacing:-.05em}.ref-band-inner p{margin:0;color:rgba(255,255,255,.91);font-size:14px;line-height:1.9}.ref-band-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);width:100%;border-top:1px solid rgba(255,255,255,.3)}.band-service{position:relative;min-height:316px;padding:34px 27px 30px;border-right:1px solid rgba(255,255,255,.35);overflow:hidden;transition:transform .25s ease,background .3s ease}.band-service:last-child{border-right:0}.band-service:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,41,89,.25),rgba(20,41,89,.94)),var(--card-image) center/cover no-repeat;opacity:0;transform:scale(1.04);transition:opacity .28s ease,transform .4s ease}.band-service:hover:before{opacity:1;transform:scale(1)}.band-service>*{position:relative;z-index:2}.band-service:hover{transform:translateY(-5px)}.band-icon{width:50px;height:50px;border:1px solid rgba(255,255,255,.56);border-radius:50%;display:grid;place-items:center;font-size:18px}.band-service h3{margin:17px 0 14px;font-size:20px;line-height:1.12}.band-service ul{list-style:none;padding:0;margin:0}.band-service li{font-size:11px;color:rgba(255,255,255,.88);padding:5px 0}.band-service li:before{content:'•';margin-inline-end:7px}.band-more{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font:700 10px 'Outfit';text-transform:uppercase}.band-more b{font-size:17px;font-weight:400}

/* gesy strip */
.ref-gsy{background:#02bdb2;color:#fff}.gesy-row{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:25px}.gesy-row .ref-kicker{margin:0;color:rgba(255,255,255,.72)}.gesy-row h2{margin:2px 0 4px;color:#fff;font:600 25px 'Outfit'}.gesy-row p{margin:0;color:rgba(255,255,255,.86);font-size:11px}.gesy-button{display:inline-flex;align-items:center;gap:16px;color:#fff;font:700 12px 'Outfit'}.gesy-button span{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--secondary);font-size:22px;transition:transform .2s}.gesy-button:hover span{transform:translateX(4px)}

/* why choose */
.ref-why{padding:88px 0}.why-split{gap:88px}.why-copy p{margin:17px 0 0;max-width:650px;color:var(--body);font-size:14px;line-height:1.9}.why-person{display:flex;align-items:center;gap:14px;margin-top:30px}.person-avatar{width:64px;height:64px;border-radius:50%;padding:4px;background:#f4f6f8;overflow:hidden}.person-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.why-person strong{display:block;font:700 15px 'Outfit'}.why-person span{display:block;color:#7b8693;font-size:10px;margin-top:2px}.why-accordion{border-top:0}.why-accordion details{border:0;background:#fff;margin-bottom:17px;box-shadow:0 9px 24px rgba(20,41,89,.07);border-radius:6px;overflow:hidden}.why-accordion summary{list-style:none;display:grid;grid-template-columns:52px 1fr 18px;gap:13px;align-items:center;padding:22px 24px;cursor:pointer;font:700 16px 'Outfit';color:var(--secondary)}.why-accordion summary::-webkit-details-marker{display:none}.why-accordion summary span{color:var(--mint)}.why-accordion summary b{font-size:18px;font-weight:400;text-align:right;transition:transform .2s}.why-accordion details[open] summary b{transform:rotate(45deg);color:var(--primary)}.why-accordion details>div{padding:0 24px 22px 88px;color:var(--body);font-size:12px;line-height:1.8}

/* appointment ribbon */
.ref-appointment{padding:0 0 88px}.appointment-ribbon{position:relative;overflow:hidden;background:var(--primary)}.appointment-ribbon:before{content:'';position:absolute;inset:0;opacity:.18;background-image:linear-gradient(30deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%),linear-gradient(150deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%);background-size:160px 92px}.appointment-ribbon:after{content:'';position:absolute;right:-2px;top:0;width:70px;height:100%;background:#fff;clip-path:polygon(100% 0,100% 100%,0 100%,55% 50%,0 0)}.appointment-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.17fr 1fr;gap:55px;align-items:center;padding:27px 39px}.appointment-grid h2{margin:0 0 7px;color:#fff;font-size:33px;line-height:1}.appointment-grid p{margin:0;max-width:620px;color:rgba(255,255,255,.85);font-size:12px}.appointment-fields{display:grid;grid-template-columns:1fr 1fr 58px;gap:18px;align-items:center}.appointment-fields>div{padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.43)}.appointment-fields span{display:block;margin-bottom:3px;color:rgba(255,255,255,.65);font:700 9px 'Outfit';letter-spacing:.1em}.appointment-fields strong{color:#fff;font:600 12px 'Outfit'}.appointment-go{width:58px;height:58px;border-radius:50%;background:var(--secondary);color:#fff;display:grid;place-items:center;font:400 28px/1 Arial;transition:transform .2s,background .2s}.appointment-go:hover{background:#fff;color:var(--secondary);transform:scale(1.05)}

/* process */
.ref-process{padding:92px 0 94px}.process-ref-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:48px 0 38px}.process-ref-grid:before{content:'';position:absolute;left:13%;right:13%;top:69px;border-top:2px dotted #d3e7e4}.process-ref-step{position:relative;text-align:center;z-index:1}.process-media{width:125px;height:125px;padding:8px;border-radius:50%;margin:0 auto 18px;background:#f3f5f7;border:1px solid #e5eaee;position:relative}.process-media img{width:100%;height:100%;border-radius:50%;object-fit:cover}.process-media span{position:absolute;right:-1px;bottom:3px;width:34px;height:34px;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font:700 11px 'Outfit'}.process-ref-step h3{margin:0 0 6px;font-size:17px}.process-ref-step p{margin:0 auto;max-width:230px;color:var(--body);font-size:11px;line-height:1.75}

/* research */
.ref-academic{padding:91px 0 88px;background:var(--secondary);color:#fff}.academic-head h2{color:#fff}.academic-head p{color:rgba(255,255,255,.71)}.academic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin:42px 0}.academic-card{min-height:280px;padding:25px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:5px;transition:transform .25s,background .25s,box-shadow .25s}.academic-card:hover{transform:translateY(-7px);background:rgba(1,189,178,.08);box-shadow:0 15px 32px rgba(0,0,0,.13)}.academic-meta{display:flex;justify-content:space-between;gap:16px}.academic-meta span{color:#93e8df;font:700 11px 'Outfit'}.academic-meta small{max-width:60%;color:rgba(255,255,255,.53);font-size:9px;text-align:right}.academic-card h3{margin:18px 0 13px;font-size:18px;line-height:1.25}.academic-card p{margin:0 0 17px;color:rgba(255,255,255,.69);font-size:11px;line-height:1.75}.academic-card a{color:#93e8df;font:700 10px 'Outfit'}

/* profile / expertise */
.ref-profile{padding:88px 0 76px;background:#fff}.profile-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:78px;align-items:center}.profile-media{position:relative;min-height:430px}.profile-media>img{width:100%;height:430px;object-fit:cover;border-radius:4px;box-shadow:0 22px 43px rgba(20,41,89,.12)}.profile-stamp{position:absolute;top:-12px;right:-14px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.profile-stamp span{display:inline-flex;min-width:74px;justify-content:center;padding:7px 10px;border-radius:4px;background:#fff;color:var(--secondary);box-shadow:0 8px 21px rgba(20,41,89,.10);font-size:10px;letter-spacing:.04em}.profile-stamp span:nth-child(2){transform:translateX(9px)}.profile-stamp span:nth-child(3){transform:translateX(18px)}.profile-stamp span:nth-child(4){transform:translateX(27px);color:var(--primary)}
.profile-badge{position:absolute;left:22px;bottom:-25px;min-width:315px;padding:18px 20px;background:var(--secondary);color:#fff;box-shadow:0 14px 30px rgba(20,41,89,.20)}.profile-badge strong{display:block;font:700 18px 'Outfit'}.profile-badge span{display:block;margin-top:4px;color:#9ce8df;font-size:10px}.profile-copy p{margin:18px 0 0;max-width:700px;color:var(--body);font-size:14px;line-height:1.9}.profile-chips{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 30px}.profile-chips span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fbfcfd;color:var(--secondary);font:600 11px 'Outfit';transition:background .2s,color .2s,border-color .2s,transform .2s}.profile-chips span:hover{background:var(--secondary);color:#fff;border-color:var(--secondary);transform:translateY(-2px)}

/* blog */
.ref-blog{padding:90px 0 96px}.blog-ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:45px 0 35px}.blog-ref-card{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff;transition:transform .25s,box-shadow .25s}.blog-ref-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.blog-img{position:relative;display:block;height:270px;overflow:hidden}.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.blog-ref-card:hover .blog-img img{transform:scale(1.04)}.blog-date{position:absolute;top:0;right:14px;min-width:55px;padding:10px 8px 9px;background:var(--primary);color:#fff;text-align:center;font:700 18px/1 'Outfit';border-radius:0 0 4px 4px}.blog-date small{display:block;font-size:10px;text-transform:uppercase;margin-top:5px}.blog-content{padding:23px 23px 27px}.blog-content>span{display:inline-block;color:var(--primary);font:700 10px 'Outfit';letter-spacing:.08em;text-transform:uppercase}.blog-content h3{margin:11px 0 10px;font-size:20px;line-height:1.24}.blog-content p{margin:0 0 17px;color:var(--body);font-size:12px;line-height:1.8}.blog-more{display:inline-flex;gap:6px;align-items:center;font:700 10px 'Outfit';color:var(--secondary)}.blog-more b{font-size:17px;color:var(--primary);font-weight:400}

/* location */
.ref-location{padding:86px 0;background:#eef9f7}.location-ref-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}.location-ref-grid h2{font-size:clamp(40px,4vw,58px)}.location-ref-grid p{max-width:700px;margin:15px 0 24px;color:var(--body);font-size:14px;line-height:1.9}.location-ref-actions{display:flex;gap:18px;align-items:center}.text-link-ref{font:700 12px 'Outfit';color:var(--secondary)}.text-link-ref:hover{color:var(--primary)}.hours-ref{padding:24px 26px 18px;background:#fff;border-radius:6px;box-shadow:0 14px 34px rgba(20,41,89,.07)}.hours-ref>strong{display:block;margin:3px 0 13px;font:700 15px 'Outfit'}.hours-ref>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line);font:600 11px 'Outfit'}.hours-ref>div:last-child{border-bottom:0}.hours-ref>div span{color:var(--body)}

/* footer */
.footer-cta{display:none}
.footer{padding-top:46px;background:var(--secondary);color:#fff}.footer-newsletter{padding:0 0 28px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-news-inner{display:grid;grid-template-columns:1fr 1fr 1.25fr;align-items:center;gap:35px}.footer-news-title{font:700 24px 'Outfit'}.footer-news-copy{color:rgba(255,255,255,.68);font-size:11px}.footer-news-form{display:flex;gap:9px}.footer-news-form input{min-width:0;flex:1;height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.13);border-radius:5px;background:rgba(255,255,255,.07);color:#fff;outline:none}.footer-news-form input::placeholder{color:rgba(255,255,255,.52)}.footer-news-form button{height:48px;padding:0 18px;border:0;border-radius:5px;background:var(--primary);color:#fff;font:700 11px 'Outfit';cursor:pointer}.footer-main{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:44px;padding:39px 0 38px}.footer-logo{min-width:0}.footer-logo .brand-mark{width:56px;height:56px}.footer-logo .brand-wordmark strong,.footer-logo .brand-wordmark em{font-size:18px}.footer-brand p{max-width:320px;margin:14px 0 0;color:rgba(255,255,255,.69);font-size:11px}.footer-contact{display:grid;gap:6px;margin-top:15px}.footer-contact a,.footer-contact span{color:rgba(255,255,255,.72);font-size:11px}.footer-contact a:hover{color:#8fe5df}.footer-linkedin{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#fff;font:700 11px 'Outfit'}.footer-linkedin span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--secondary);font-size:10px}.footer-main>div:not(.footer-brand) h4{margin:4px 0 14px;color:#fff;font:700 14px 'Outfit'}.footer-main>div:not(.footer-brand)>a{display:block;margin:8px 0;color:rgba(255,255,255,.68);font-size:11px}.footer-main>div:not(.footer-brand)>a:hover{color:#8fe5df}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.48);font-size:9px}.footer-bottom a:hover{color:#8fe5df}.floating-whatsapp{position:fixed;right:22px;bottom:21px;z-index:400;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#20c66b;color:#fff;box-shadow:0 13px 29px rgba(16,45,89,.22);transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-3px)}.floating-whatsapp svg{width:28px;height:28px}

/* inner pages */
.inner-hero{position:relative;min-height:415px;display:flex;align-items:center;overflow:hidden;color:#fff}.inner-bg{position:absolute;inset:0}.inner-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.inner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,41,89,.92),rgba(20,41,89,.72))}.inner-content{position:relative;z-index:2;padding-top:154px;padding-bottom:66px;text-align:center}.inner-content h1{margin:8px 0 13px;color:#fff;font-size:clamp(44px,5vw,74px);line-height:.98}.inner-content p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.76);font-size:14px}.crumbs{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:17px;font:700 10px 'Outfit'}.crumbs span:last-child{color:#8fe5df}.section{padding:88px 0}.section.muted{background:#f7f9fb}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:38px}.section-head.centered{display:block;text-align:center}.section-head h2{margin:0;font-size:clamp(39px,4vw,60px);line-height:1.02}.section-head p{margin:0;color:var(--body);font-size:13px;line-height:1.8}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-card,.copy-card,.form-card,.visual-card{padding:26px;border:1px solid var(--line);border-radius:7px;background:#fff}.info-card h3,.copy-card h2{margin-top:0}.info-card p,.copy-card p{color:var(--body);font-size:13px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{padding:29px;border:1px solid var(--line);border-radius:7px;transition:transform .22s,box-shadow .22s,background .22s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#effaf8;color:var(--primary);font:700 18px 'Outfit'}.service-card h3{font-size:21px}.service-card p{font-size:12px;color:var(--body)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visual-card{padding:0;overflow:hidden}.visual-card img{width:100%;height:420px;object-fit:cover}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.check-grid span{font:600 11px 'Outfit'}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{border:1px solid var(--line);border-radius:7px;overflow:hidden}.post-image{position:relative;height:240px;overflow:hidden}.post-image img{width:100%;height:100%;object-fit:cover}.post-image>span{position:absolute;right:12px;top:12px;padding:8px;background:var(--primary);color:#fff;font:700 12px 'Outfit'}.post-body{padding:20px}.post-body small{color:var(--primary);font:700 10px 'Outfit'}.post-body h3{font-size:19px}.post-body p{color:var(--body);font-size:12px}.post-body a{font:700 10px 'Outfit'}.location-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}.hours{padding:24px;border:1px solid var(--line);background:#fff}.hours>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact-list{display:grid;gap:10px;margin-top:22px}.contact-list div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font:600 12px 'Outfit'}.form-card label{display:grid;gap:6px;margin-bottom:14px;font:700 11px 'Outfit'}.form-card input,.form-card textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;outline:none}.form-card input:focus,.form-card textarea:focus{border-color:var(--primary)}.form-card small{display:block;margin-top:9px;color:var(--body);font-size:9px;line-height:1.7}.hp{position:absolute!important;left:-9999px!important;opacity:0!important}.timeline{display:grid;gap:0}.timeline li{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);list-style:none}.timeline li b{font:700 12px 'Outfit'}.timeline li span{color:var(--body);font-size:12px}.pub-list{display:grid;gap:20px}.pub-list article{display:grid;grid-template-columns:85px 1fr;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.pub-year{color:var(--primary);font:700 28px 'Outfit'}.pub-list h3{margin:0;font-size:20px;line-height:1.25}.pub-list p{color:var(--body);font-size:12px}.pub-list small{display:block;color:#7c8797;font-size:10px}.pub-list a{display:inline-block;margin-top:8px;font:700 10px 'Outfit'}.article-main{max-width:900px;margin-inline:auto}.article-main h2{font-size:35px}.article-main p,.article-main li{color:#5f6c80;font-size:16px;line-height:1.9}.article-main img{width:100%;margin:24px 0;border-radius:6px}

/* responsive */
@media (max-width:1366px){
  .container{width:min(1180px,calc(100% - 70px))}.nav-inner{padding-inline:26px}.brand{min-width:220px}.brand-wordmark strong{font-size:25px}.brand-wordmark em{font-size:24px}.brand-mark{width:61px;height:61px}.main-nav>a,.nav-trigger{padding-inline:10px;font-size:13px}.main-nav>a:after,.nav-trigger:after{left:10px;right:10px}.nav-cta{padding-inline:17px;font-size:11px}.hero-shell{padding-top:156px}.hero-slide h1{font-size:62px}.hero-hours-card{right:20px;width:360px}.ref-heading-row{gap:55px}.ref-split{gap:65px}.ref-band-grid{grid-template-columns:repeat(2,1fr)}.band-service:nth-child(2){border-right:0}.band-service:nth-child(n+3){border-top:1px solid rgba(255,255,255,.35)}.profile-grid{gap:55px}.footer-main{grid-template-columns:1.25fr 1fr 1fr 1fr}
}
@media (max-width:1100px){
  .topbar{display:none}.site-header{top:0;width:calc(100% - 28px)}.site-header.scrolled{width:100%}.nav-inner,.site-header.scrolled .nav-inner{min-height:82px;padding-inline:16px}.main-nav{display:none}.mobile-toggle{display:block}.nav-actions .nav-cta,.nav-actions .search-button,.lang-switch{display:none}.menu-open .main-nav{position:fixed;display:flex;left:0;right:0;top:82px;bottom:0;padding:17px 22px 30px;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:auto;z-index:105}.menu-open .main-nav>a,.menu-open .nav-trigger{display:flex;align-items:center;justify-content:space-between;padding:16px 3px;border-bottom:1px solid var(--line);font-size:16px}.menu-open .nav-group{height:auto;display:block}.menu-open .classic-menu{position:static;width:auto;display:none;opacity:1;visibility:visible;transform:none;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.menu-open .nav-group.open .classic-menu{display:block}.menu-open .classic-menu a{padding:12px 8px;font-size:14px}.mobile-nav-languages{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;padding:18px 3px 3px;border-top:1px solid var(--line)}.mobile-nav-languages a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font:700 11px 'Outfit'}.mobile-nav-languages a.current{background:var(--secondary);border-color:var(--secondary);color:#fff}
  .hero-ref{min-height:760px}.hero-shell{min-height:760px;padding-top:120px}.hero-copy{width:72%}.hero-slide{padding-top:35px}.hero-slide h1{font-size:clamp(50px,6.7vw,70px)}.hero-slide p{font-size:14px;max-width:580px}.hero-hours-card{width:325px;right:0;bottom:55px}.hours-row{grid-template-columns:1fr 1fr 70px}.hours-row strong,.hours-row span{font-size:12px}.hours-row a{min-height:42px}.ref-slider-arrow{width:45px;height:45px;font-size:31px}.ref-prev{left:0}.ref-next{right:0}.hero-slider-footer{bottom:20px}
  .ref-heading-row{grid-template-columns:1fr 1fr;gap:40px}.ref-about{padding-top:82px}.ref-split{gap:48px}.ref-photo-collage{min-height:480px}.ref-photo-main{height:410px}.ref-photo-small{height:155px}.ref-circle{width:116px;height:116px}.ref-circle small{width:96px;height:96px}.ref-checks{gap:12px 20px}.ref-band-inner{gap:45px}.profile-grid{gap:38px}.profile-media,.profile-media>img{min-height:390px;height:390px}.profile-badge{min-width:270px}.footer-news-inner{grid-template-columns:1fr 1fr}.footer-news-form{grid-column:1/-1}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-main>div:last-child{grid-column:2}.three-col,.service-grid,.post-grid{grid-template-columns:repeat(2,1fr)}.section-head{gap:35px}
}
@media (max-width:760px){
  .container{width:calc(100% - 30px)!important}.site-header{width:100%;border-radius:0}.brand{gap:9px;min-width:0}.brand-mark{width:44px;height:44px}.brand-wordmark strong{font-size:17px}.brand-wordmark em{font-size:16px}.nav-inner,.site-header.scrolled .nav-inner{min-height:70px;padding-inline:12px}.menu-open .main-nav{top:70px}
  .hero-ref{min-height:660px}.hero-shell{min-height:660px;padding-top:88px;padding-bottom:35px}.hero-photo-layer{inset:0;background:linear-gradient(90deg,#eef3f6 0%,rgba(238,243,246,.90) 42%,rgba(238,243,246,.28) 78%,rgba(238,243,246,0) 100%),var(--hero-photo);background-size:auto 100%;background-position:62% center}.hero-soft-shade{background:radial-gradient(circle at 28% 74%,rgba(255,255,255,.92) 0 20%,rgba(255,255,255,0) 36%)}.hero-copy{width:100%;align-items:flex-start}.hero-slides{min-height:350px}.hero-slide{padding-top:25px;max-width:none}.hero-kicker{font-size:9px;margin-bottom:10px;letter-spacing:.15em}.hero-slide h1{font-size:42px;max-width:350px;line-height:.98;margin-bottom:13px}.hero-slide p{font-size:11px;line-height:1.7;max-width:335px}.hero-actions{gap:7px;margin-top:18px}.hero-actions .ref-btn{min-height:44px;min-width:0;width:100%;padding-inline:10px;font-size:10px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;max-width:340px}.hero-hours-card{left:15px;right:15px;bottom:19px;width:auto;padding:8px 15px 5px}.hours-row{grid-template-columns:1fr 1fr 58px;padding:7px 0;gap:8px}.hours-row strong,.hours-row span{font-size:10px}.hours-row a{min-height:30px;font-size:9px}.ref-slider-arrow{width:33px;height:33px;font-size:23px}.ref-prev{left:4px}.ref-next{right:4px}.hero-slider-footer{left:15px;right:15px;bottom:5px;font-size:8px}.hero-slider-footer>span{display:none}
  .ref-section{padding:72px 0}.ref-heading-row{display:block;margin-bottom:27px}.ref-heading-row h2,.ref-centered h2,.ref-copy h2,.why-copy h2,.profile-copy h2,.location-ref-grid h2{font-size:34px}.ref-heading-row p{margin-top:12px;font-size:12px;line-height:1.8}.four-ref-grid{grid-template-columns:1fr}.ref-feature-card{min-height:210px;border-right:0!important;border-top:1px solid var(--line)}.ref-feature-card:first-child{border-top:0}.ref-feature-card p{max-width:none}.ref-about{padding:72px 0}.ref-split,.why-split,.profile-grid,.location-ref-grid,.section-head,.split,.location-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.ref-photo-collage{min-height:355px}.ref-photo-main{left:18px;top:15px;width:73%;height:300px}.ref-photo-small{width:45%;height:110px;border-width:8px}.ref-vertical{font-size:12px;bottom:25px}.ref-circle{right:14%;width:94px;height:94px}.ref-circle small{inset:8px;width:78px;height:78px;font-size:6px}.ref-circle span{font-size:21px}.ref-checks{grid-template-columns:1fr;gap:10px}.ref-focus-bar>div{display:block}.ref-focus-bar span{display:block;margin-top:4px;text-align:left}.ref-action-row{display:grid;grid-template-columns:1fr;gap:18px}.ref-teal-band{padding-top:62px}.ref-band-inner{display:block;padding-bottom:30px}.ref-band-inner h2{font-size:34px}.ref-band-inner p{margin-top:12px;font-size:12px}.ref-band-grid{grid-template-columns:1fr}.band-service{min-height:245px;border-right:0!important;border-top:1px solid rgba(255,255,255,.35)}.band-service:first-child{border-top:0}.gesy-row{min-height:106px}.gesy-row h2{font-size:22px}.gesy-row p{max-width:270px;font-size:10px}.gesy-button{font-size:10px;gap:8px}.gesy-button span{width:38px;height:38px}.ref-why{padding:72px 0}.why-accordion details{margin-bottom:12px}.why-accordion summary{padding:17px 16px;font-size:13px;grid-template-columns:40px 1fr 17px}.why-accordion details>div{padding:0 16px 17px 68px;font-size:11px}.ref-appointment{padding-bottom:66px}.appointment-grid{grid-template-columns:1fr;padding:22px 20px;gap:18px}.appointment-grid h2{font-size:28px}.appointment-fields{grid-template-columns:1fr 1fr 46px;gap:9px}.appointment-go{width:46px;height:46px}.ref-process{padding:72px 0 78px}.process-ref-grid{grid-template-columns:1fr;gap:32px;margin-top:34px}.process-ref-grid:before{display:none}.process-media{width:108px;height:108px}.ref-academic{padding:72px 0}.academic-grid{grid-template-columns:1fr;gap:13px;margin-top:30px}.academic-card{min-height:230px}.ref-profile{padding:72px 0}.profile-media,.profile-media>img{height:330px;min-height:330px}.profile-badge{left:12px;right:12px;bottom:-18px;min-width:0}.profile-stamp{right:8px}.profile-copy{padding-top:12px}.profile-chips{margin-top:20px}.ref-gsy{margin-top:0}.ref-blog{padding:72px 0 78px}.blog-ref-grid{grid-template-columns:1fr;gap:17px;margin-top:31px}.blog-img{height:240px}.ref-location{padding:67px 0}.location-ref-actions{flex-wrap:wrap}.hours-ref{padding:18px}.footer{padding-top:40px}.footer-news-inner{grid-template-columns:1fr;gap:14px}.footer-news-form{grid-column:auto}.footer-main{grid-template-columns:1fr;gap:26px;padding-bottom:32px}.footer-main>div:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin:4px 0}.floating-whatsapp{width:49px;height:49px;right:13px;bottom:13px}.floating-whatsapp svg{width:25px;height:25px}.inner-hero{min-height:320px}.inner-content{padding-top:100px;padding-bottom:47px}.inner-content h1{font-size:39px}.inner-content p{font-size:12px}.section{padding:64px 0}.three-col,.service-grid,.post-grid{grid-template-columns:1fr}.visual-card img{height:320px}.timeline li{grid-template-columns:1fr;gap:6px}.pub-list article{grid-template-columns:1fr;gap:6px}.check-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v2.3 inner-page premium layer: intentionally preserves the v2.0 Home visual system */
.pro-inner-hero{min-height:430px}.pro-inner-hero .inner-content{padding-top:165px;padding-bottom:75px}.pro-inner-hero .inner-bg img{filter:saturate(.55) contrast(.9)}
.pro-section-head{max-width:760px}.pro-section-head .eyebrow{margin-bottom:12px}.pro-section-head h2{margin:0 0 14px;font-size:clamp(34px,4.2vw,58px);line-height:1.05}.pro-section-head p{margin:0;color:var(--body);font-size:14px;line-height:1.9}
.pro-centered-head{text-align:center;margin-bottom:42px}.pro-centered-head .pro-section-head{margin-inline:auto}
.pro-feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:88px;align-items:center}.pro-feature-media{position:relative;min-height:520px}.pro-feature-media.right{min-height:480px}.pro-frame{overflow:hidden;position:absolute;border-radius:4px;background:#eef6f5;box-shadow:0 25px 60px rgba(20,41,89,.12)}.pro-frame.main{inset:18px 45px 44px 18px}.pro-frame img{width:100%;height:100%;object-fit:cover}.pro-stamp{position:absolute;right:0;bottom:0;width:165px;padding:22px 16px;background:var(--secondary);color:#fff;border-left:5px solid var(--primary);font:600 11px/1.45 'Outfit';letter-spacing:.08em;text-align:center}.pro-stamp strong{display:block;color:#8fe5df;font-size:9px;margin-top:6px}.pro-feature-copy h2{margin:5px 0 17px;font:600 48px/1.02 'Outfit';letter-spacing:-.03em}.pro-feature-copy>p{color:var(--body);font-size:15px;line-height:1.9;max-width:680px}.pro-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 22px;margin:30px 0}.pro-meta-grid div{padding:13px 0;border-bottom:1px solid var(--line)}.pro-meta-grid strong{display:block;color:var(--primary);font:700 19px 'Outfit'}.pro-meta-grid span{display:block;color:var(--body);font-size:11px;margin-top:2px}.pro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.pro-three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pro-info-tile{padding:30px;background:#fff;border:1px solid var(--line);position:relative;min-height:240px;transition:transform .28s,box-shadow .28s}.pro-info-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.pro-info-tile:before{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .28s}.pro-info-tile:hover:before{transform:scaleX(1)}.pro-info-tile h3{font-size:23px;margin:9px 0 12px}.pro-info-tile p{font-size:12px;line-height:1.8;color:var(--body)}.pro-info-tile a{font:700 10px 'Outfit';color:var(--secondary)}
.pro-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pro-service-grid.wide{grid-template-columns:repeat(3,1fr)}.pro-service-card{position:relative;display:block;padding:30px 30px 27px;border:1px solid var(--line);background:#fff;min-height:260px;overflow:hidden;transition:transform .28s,box-shadow .28s,border-color .28s,color .28s}.pro-service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,rgba(20,41,89,.96),rgba(20,41,89,.80));opacity:0;transition:opacity .28s}.pro-service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--secondary);color:#fff}.pro-service-card:hover:after{opacity:1}.pro-service-card>*{position:relative;z-index:2}.service-number{display:inline-flex;font:700 11px 'Outfit';color:var(--primary);letter-spacing:.1em}.service-icon2{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#effaf8;color:var(--primary);font:700 20px 'Outfit';margin:16px 0}.pro-service-card h3{margin:0 0 10px;font-size:21px;line-height:1.15}.pro-service-card p{margin:0;color:var(--body);font-size:12px;line-height:1.8;max-width:350px}.pro-service-card:hover p{color:rgba(255,255,255,.78)}.pro-arrow{display:inline-block;margin-top:20px;font:700 10px 'Outfit';color:var(--secondary)}.pro-service-card:hover .pro-arrow{color:#fff}.pro-service-top{display:flex;align-items:center;justify-content:space-between}.pro-service-card.big{min-height:280px}
.pro-story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}.pro-timeline{display:grid;margin-top:35px;border-top:1px solid var(--line)}.pro-timeline>div{display:grid;grid-template-columns:74px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid var(--line)}.pro-timeline>div>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--secondary);color:#fff;font:700 11px 'Outfit'}.pro-timeline h3{margin:0 0 5px;font-size:19px}.pro-timeline p{margin:0;color:var(--body);font-size:12px;line-height:1.7}.pro-side-quote{padding:42px;background:var(--secondary);color:#fff;position:relative;min-height:260px;overflow:hidden}.pro-side-quote:before{content:'';position:absolute;width:260px;height:260px;right:-130px;top:-130px;border:1px solid rgba(1,189,178,.38);border-radius:50%;box-shadow:0 0 0 30px rgba(1,189,178,.05),0 0 0 60px rgba(1,189,178,.03)}.quote-mark{font:700 74px/1 'Outfit';color:var(--primary);display:block}.pro-side-quote p{position:relative;z-index:1;font:500 22px/1.35 'Outfit';max-width:390px}
.pro-credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pro-credential{display:flex;gap:18px;padding:28px;background:#fff;border:1px solid var(--line);min-height:210px}.credential-mark{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;background:var(--secondary);color:#fff;font:700 18px 'Outfit'}.pro-credential h3{margin:6px 0 8px;font-size:21px}.pro-credential p{color:var(--body);font-size:12px;line-height:1.8}
.pro-experience-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.pro-experience-copy>h2{margin:7px 0 14px;font:600 47px/1.03 'Outfit'}.pro-experience-copy>p{color:var(--body);font-size:14px;line-height:1.9;max-width:650px}.pro-timeline.compact>div{grid-template-columns:120px 1fr}.pro-feature-media.right .pro-frame.main{inset:0 20px 30px 0}.pro-accent-card{position:absolute;right:0;bottom:0;display:flex;gap:18px;align-items:center;background:var(--secondary);color:#fff;padding:18px 20px;box-shadow:var(--shadow)}.pro-accent-card strong{font:700 29px 'Outfit';color:var(--primary)}.pro-accent-card span{font:600 10px/1.5 'Outfit';letter-spacing:.08em;text-transform:uppercase}
.pro-language-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.language-card{padding:34px 28px;border:1px solid var(--line);background:#fff;transition:transform .25s,box-shadow .25s}.language-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.language-card.featured{background:var(--secondary);color:#fff}.lang-code{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid currentColor;color:var(--primary);font:700 13px 'Outfit'}.language-card h3{margin:20px 0 6px;font-size:25px}.language-card p{margin:0;color:var(--body);font-size:12px}.language-card.featured p{color:rgba(255,255,255,.72)}
.pro-service-detail{max-width:1240px}.pro-detail-intro{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}.pro-detail-intro h2{margin:6px 0 12px;font:600 50px/1 'Outfit'}.pro-detail-intro p{color:var(--body);font-size:14px;line-height:1.9}.pro-content-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;margin-top:90px;padding:44px;background:var(--secondary);color:#fff}.pro-content-band h3{margin:4px 0 0;font:600 29px/1.15 'Outfit'}.pro-content-band p{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.8}.pro-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.pro-mini-grid>div{padding:26px;background:#f5f8fa;border-left:3px solid var(--primary)}.pro-mini-grid span{font:700 12px 'Outfit';color:var(--primary)}.pro-mini-grid h3{margin:9px 0;font-size:21px}.pro-mini-grid p{margin:0;color:var(--body);font-size:11px;line-height:1.7}
.pro-care-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.pro-care-card h2{margin:6px 0 14px;font:600 51px/1 'Outfit'}.pro-care-card>p{max-width:660px;color:var(--body);font-size:14px;line-height:1.9}.pro-steps{display:grid;gap:0;margin:34px 0}.pro-steps>div{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.pro-steps span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font:700 11px 'Outfit'}.pro-steps h3{margin:0 0 4px;font-size:18px}.pro-steps p{margin:0;color:var(--body);font-size:11px}.pro-accent-card.teal{background:var(--primary);color:#fff}.pro-accent-card.teal strong{color:#fff}
.pro-condition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pro-condition{padding:24px;border:1px solid var(--line);background:#fff;min-height:180px;transition:.24s}.pro-condition:hover{background:var(--secondary);color:#fff;transform:translateY(-4px);box-shadow:var(--shadow)}.pro-condition span{font:700 10px 'Outfit';color:var(--primary)}.pro-condition h3{margin:15px 0 8px;font-size:18px;line-height:1.2}.pro-condition p{margin:0;color:var(--body);font-size:10px}.pro-condition:hover p{color:rgba(255,255,255,.72)}
.pro-publications{border-top:1px solid var(--line)}.pro-publication{display:grid;grid-template-columns:72px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}.pub-index{font:700 27px 'Outfit';color:var(--primary)}.pro-publication h3{margin:6px 0 9px;font-size:24px;line-height:1.23}.pro-publication p{margin:0;color:var(--body);font-size:12px;line-height:1.8;max-width:920px}.pro-publication a{display:inline-block;margin-top:13px;font:700 10px 'Outfit';color:var(--secondary)}
.pro-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pro-case-grid article{border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .24s,box-shadow .24s}.pro-case-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.case-image{height:250px;overflow:hidden;background:#edf7f6}.case-image img{width:100%;height:100%;object-fit:cover}.pro-case-grid article>span{display:block;padding:19px 21px 0;color:var(--primary);font:700 10px 'Outfit'}.pro-case-grid h3{padding:0 21px;margin:7px 0 8px;font-size:21px}.pro-case-grid p{padding:0 21px 24px;margin:0;color:var(--body);font-size:12px;line-height:1.8}
.pro-location-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:start}.pro-location-grid h2{margin:7px 0 13px;font:600 50px/1.02 'Outfit'}.pro-location-grid>div>p{color:var(--body);font-size:15px;line-height:1.8}.location-note{display:flex;flex-direction:column;gap:4px;margin-top:35px;padding:20px 23px;border-left:4px solid var(--primary);background:#f4fbfa}.location-note strong{font:700 14px 'Outfit'}.location-note span{color:var(--body);font-size:11px}.pro-hours{padding:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.pro-hours h3{margin:0 0 12px;font-size:25px}.pro-hours>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.pro-hours b{font-family:'Outfit'}
.pro-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.pro-contact-grid h2{margin:7px 0 14px;font:600 50px/1 'Outfit'}.pro-contact-grid>div>p{color:var(--body);font-size:14px;line-height:1.9;max-width:600px}.contact-tiles{display:grid;gap:12px;margin-top:30px}.contact-tiles a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;border:1px solid var(--line);background:#fff;transition:.24s}.contact-tiles a:hover{border-color:var(--primary);transform:translateX(4px)}.contact-tiles span{color:var(--body);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.contact-tiles strong{font:700 13px 'Outfit'}.pro-form{box-shadow:var(--shadow);padding:34px}.pro-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.pro-form label{display:grid;gap:6px;margin-bottom:15px}.pro-form button{width:100%;margin-top:5px}.pro-form small{font-size:10px}.pro-contact-grid .hp{position:absolute!important;left:-9999px!important}
@media (max-width: 1024px){.pro-feature-grid,.pro-detail-intro,.pro-care-grid,.pro-location-grid,.pro-contact-grid,.pro-experience-grid,.pro-story-grid{grid-template-columns:1fr;gap:45px}.pro-three,.pro-service-grid,.pro-service-grid.wide,.pro-credential-grid,.pro-case-grid{grid-template-columns:repeat(2,1fr)}.pro-condition-grid{grid-template-columns:repeat(3,1fr)}.pro-language-grid{grid-template-columns:repeat(2,1fr)}.pro-feature-media{min-height:460px}.pro-frame.main{inset:14px 70px 36px 0}.pro-content-band{grid-template-columns:1fr;gap:20px}.pro-inner-hero{min-height:360px}}
@media (max-width: 767px){.pro-inner-hero{min-height:320px}.pro-inner-hero .inner-content{padding-top:100px;padding-bottom:45px}.pro-three,.pro-service-grid,.pro-service-grid.wide,.pro-credential-grid,.pro-case-grid,.pro-condition-grid,.pro-language-grid,.pro-mini-grid{grid-template-columns:1fr}.pro-feature-copy h2,.pro-experience-copy>h2,.pro-detail-intro h2,.pro-care-card h2,.pro-location-grid h2,.pro-contact-grid h2{font-size:35px}.pro-meta-grid{grid-template-columns:1fr}.pro-feature-media{min-height:340px}.pro-frame.main{inset:0 36px 28px 0}.pro-stamp{width:135px;padding:14px 10px;font-size:9px}.pro-side-quote{min-height:210px}.pro-side-quote p{font-size:19px}.pro-timeline>div,.pro-timeline.compact>div{grid-template-columns:58px 1fr;gap:13px}.pro-credential{min-height:0}.pro-publication{grid-template-columns:1fr;gap:6px}.pro-condition{min-height:150px}.pro-form{padding:22px}.pro-form .form-row{grid-template-columns:1fr;gap:0}.contact-tiles a{display:block}.contact-tiles strong{display:block;margin-top:4px}.pro-actions{display:grid;grid-template-columns:1fr}.pro-actions .btn{width:100%}}

/* v2.4 inner-page polish */
.pro-lead-muted{color:#6d7a8c;font-size:13px;line-height:1.8}.pro-location-copy{max-width:680px}
.pro-bullets-panel{margin-top:30px;padding:34px;border:1px solid var(--line);background:#fff}.pro-bullets-panel>div:first-child{margin-bottom:20px}.pro-bullets-panel ul{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px;margin:0 0 28px;padding:0;list-style:none}.pro-bullets-panel li{position:relative;padding-inline-start:22px;color:#58667a;font-size:12px}.pro-bullets-panel li:before{content:'✓';position:absolute;left:0;top:0;color:var(--primary);font-weight:800}.pro-faq-grid{display:grid;gap:10px}.pro-faq-grid details{border:1px solid var(--line);background:#fafcfd;padding:0 18px}.pro-faq-grid summary{cursor:pointer;list-style:none;padding:16px 0;font:700 13px 'Outfit';color:var(--secondary)}.pro-faq-grid summary::-webkit-details-marker{display:none}.pro-faq-grid summary:after{content:'+';float:right;color:var(--primary);font-size:18px;line-height:1}.pro-faq-grid details[open] summary:after{content:'−'}.pro-faq-grid p{margin:0 0 16px;color:var(--body);font-size:12px;line-height:1.8}
.contact-tile-static{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;border:1px solid var(--line);background:#fff}.contact-tile-static span{color:var(--body);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.contact-tile-static strong{font:700 13px 'Outfit';text-align:right}
.inner-hero .inner-bg img{filter:saturate(.72) contrast(.94)}.pro-inner-hero .inner-content{max-width:980px}.pro-inner-hero .eyebrow{color:#8fe5df}.pro-inner-hero .crumbs a:hover{color:#8fe5df}
@media(max-width:767px){.pro-bullets-panel{padding:22px}.pro-bullets-panel ul{grid-template-columns:1fr}.contact-tile-static{display:block}.contact-tile-static strong{display:block;text-align:left;margin-top:4px}.rtl .contact-tile-static strong{text-align:right}}

/* Header v2.5 reference-faithful refinement */
.topbar{width:min(94.5%,1860px);margin:0 auto;border:1px solid #edf0f4;border-top:0;border-radius:0 0 0 0;box-shadow:0 0 0 rgba(0,0,0,0);}
.topbar-inner{width:100%;max-width:none!important;padding:0 20px;height:59px;}
.top-item{font-family:'DM Sans',Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:-.01em;padding:0 28px;}
.top-item:first-child{padding-inline-start:0;}
.top-item:last-of-type{border-right:0;}
.top-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--mint);flex:0 0 auto;}
.top-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:2.05;stroke-linecap:round;stroke-linejoin:round;}
.top-icon-handset svg{stroke-width:2.55;}
.top-icon-mail svg{stroke-width:2.35;}
.social-pill{font-size:15px;width:58px;}
.site-header{width:min(94.5%,1860px);}
.nav-inner{gap:18px;padding-inline:40px;}
.brand{min-width:295px;gap:14px;}
.brand-mark{width:70px;height:70px;}
.brand-wordmark strong{font-size:31px;letter-spacing:-.045em;}
.brand-wordmark em{font-size:27px;letter-spacing:-.035em;}
.main-nav{gap:0;justify-content:flex-end;}
.main-nav>a,.nav-trigger{padding-inline:13px;font-size:16px;font-weight:600;letter-spacing:-.015em;}
.main-nav>a:after,.nav-trigger:after{left:13px;right:13px;bottom:20px;height:2px;}
.nav-group{position:relative;}
.nav-group::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px;background:transparent;}
.classic-menu{top:calc(100% + 14px);width:285px;border-top:3px solid var(--primary);border-radius:0 0 10px 10px;}
.classic-menu a{padding:16px 24px;font-family:'Outfit',Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:-.015em;}
.classic-menu a:hover{padding-inline-start:29px;}
.lang-switch{position:relative;}
.lang-trigger{font-family:'Outfit',Arial,sans-serif!important;font-size:16px!important;font-weight:600!important;padding:10px 5px!important;line-height:1;position:relative;z-index:2;}
.lang-trigger::before,.lang-trigger::after{content:none!important;display:none!important;}
.lang-menu{top:calc(100% + 12px);right:-8px;min-width:132px;border-top:3px solid var(--primary);}
.lang-switch::after{content:'';position:absolute;right:-8px;left:-8px;top:100%;height:12px;background:transparent;}
.lang-switch.open .lang-menu{display:block;}
.lang-switch:hover .lang-menu{display:none;}
.lang-switch.open:hover .lang-menu{display:block;}
.search-button{width:48px;height:48px;}
.nav-cta{min-height:58px;padding-inline:28px;font-size:14px;white-space:nowrap;}
/* ensure no marker/dot-like decoration is emitted by navigation controls */
.main-nav,.main-nav>a,.nav-group,.nav-trigger,.classic-menu,.classic-menu a,.lang-switch,.lang-menu,.lang-menu a{list-style:none;}
.main-nav>a::marker,.nav-trigger::marker,.classic-menu a::marker,.lang-menu a::marker{content:none;}
@media(max-width:1366px){
  .top-item{font-size:15px;padding-inline:21px;}
  .nav-inner{padding-inline:26px;gap:12px;}
  .brand{min-width:260px;}
  .brand-wordmark strong{font-size:28px;}
  .brand-wordmark em{font-size:25px;}
  .main-nav>a,.nav-trigger{padding-inline:10px;font-size:15px;}
  .main-nav>a:after,.nav-trigger:after{left:10px;right:10px;}
  .nav-cta{padding-inline:22px;font-size:13px;}
}
@media(max-width:1024px){
  .topbar{width:100%;}
  .topbar-inner{padding:0 18px;}
  .top-item{font-size:14px;padding-inline:16px;}
  .nav-inner{padding-inline:20px;}
}

.top-icon-home svg{stroke-width:2.15;}


/* Header/Menu v2.6 — reference-accurate geometry and clean navigation */
.topbar{
  width:min(94.5%,1860px);
  margin:0 auto;
  border:1px solid #edf0f4;
  border-bottom:0;
  border-radius:18px 18px 0 0;
  box-shadow:none;
}
.topbar-inner{width:100%;max-width:none!important;padding:0 20px;height:59px;}
.top-item{font-family:'DM Sans',Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:0;padding:0 28px;height:59px;}
.top-item:first-child{padding-inline-start:0;}
.top-item:last-of-type{border-right:0;}
.top-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--mint);flex:0 0 auto;}
.top-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.top-icon-home svg{stroke-width:2.15;}
.top-icon-handset svg{stroke-width:2.7;}
.top-icon-mail{color:var(--secondary);}
.top-icon-mail svg{stroke-width:2.45;}
.social-pill{font-family:'DM Sans',Arial,sans-serif;font-size:15px;width:58px;}
.site-header{width:min(94.5%,1860px);}
.nav-inner{gap:18px;padding-inline:40px;}
.brand{min-width:295px;gap:14px;}
.brand-mark{width:70px;height:70px;}
.brand-wordmark strong{font-size:31px;letter-spacing:-.035em;}
.brand-wordmark em{font-size:27px;letter-spacing:-.02em;}
.main-nav{gap:0;justify-content:center;align-items:stretch;}
.main-nav>a,.nav-trigger{
  padding-inline:10px;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:17px;
  font-weight:600;
  letter-spacing:-.01em;
}
/* No decorative rule above/below nav labels. Active state is color only. */
.main-nav>a:after,.nav-trigger:after{content:none!important;display:none!important;}
.main-nav>a:hover,.main-nav>a.active,.nav-trigger:hover,.nav-trigger.active{color:var(--primary);}
.nav-group{position:relative;}
/* Keep a transparent pointer bridge while the dropdown starts exactly at the menu edge. */
.nav-group::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px;background:transparent;z-index:249;}
.classic-menu{
  top:100%;
  width:285px;
  border-top:3px solid var(--primary);
  border-radius:0 0 10px 10px;
  transform:translateY(10px);
}
.nav-group:hover .classic-menu,.nav-group.open .classic-menu{transform:translateY(0);}
.classic-menu a{
  padding:16px 24px;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:16px;
  font-weight:500;
  letter-spacing:0;
}
.classic-menu a:hover{padding-inline-start:29px;}
.lang-switch{position:relative;}
.lang-trigger{font-family:'DM Sans',Arial,sans-serif!important;font-size:17px!important;font-weight:600!important;padding:10px 5px!important;line-height:1;position:relative;z-index:2;}
.lang-trigger::before,.lang-trigger::after{content:none!important;display:none!important;}
.lang-menu{top:calc(100% + 12px);right:-8px;min-width:132px;border-top:3px solid var(--primary);}
.lang-switch::after{content:'';position:absolute;right:-8px;left:-8px;top:100%;height:12px;background:transparent;}
.lang-switch.open .lang-menu{display:block!important;}
.lang-switch:hover .lang-menu{display:none!important;}
.lang-switch:focus-within .lang-menu{display:none;}
.lang-switch.open:focus-within .lang-menu{display:block!important;}
.nav-actions{gap:11px;}
.search-button{width:48px;height:48px;}
.nav-cta{min-height:58px;padding-inline:28px;font-size:14px;}
@media(max-width:1366px){
  .top-item{font-size:15px;padding-inline:21px;}
  .nav-inner{padding-inline:26px;gap:12px;}
  .brand{min-width:260px;}
  .brand-wordmark strong{font-size:28px;}
  .brand-wordmark em{font-size:25px;}
  .main-nav>a,.nav-trigger{padding-inline:9px;font-size:16px;}
  .nav-cta{padding-inline:22px;font-size:13px;}
}
@media(max-width:1100px){
  .brand{min-width:220px;}
  .main-nav>a,.nav-trigger{padding-inline:7px;font-size:15px;}
  .nav-actions{gap:7px;}
}
@media(max-width:1024px){
  .topbar,.site-header{width:100%;border-radius:0;}
  .topbar-inner{padding:0 18px;}
  .top-item{font-size:14px;padding-inline:16px;}
  .nav-inner{padding-inline:20px;}
}
@media(max-width:900px){
  .main-nav{justify-content:flex-start;}
}

/* Header/Menu v2.7 — hover/open state matches the supplied After.png reference.
   The turquoise rule belongs to the dropdown's top edge, aligned with the
   bottom edge of the navigation row, not underneath the trigger itself. */
@media (min-width:1001px){
  .nav-group > .nav-trigger{border-bottom:0!important;box-shadow:none!important;}
  .nav-group:hover > .nav-trigger,
  .nav-group.open > .nav-trigger{color:var(--primary)!important;}
  .classic-menu{
    top:100%!important;
    transform:translateY(-1px)!important;
    border-top:3px solid var(--primary)!important;
    border-radius:0 0 10px 10px!important;
  }
  .nav-group::after{
    top:100%!important;
    height:14px!important;
    z-index:249!important;
  }
  .nav-group:hover .classic-menu,
  .nav-group.open .classic-menu{
    transform:translateY(0)!important;
  }
}


/* Header/Menu v3.4.2 — submenu position final micro-adjustment.
   The submenu top edge is anchored to the navigation row (not the full
   header height). Hovering any parent nav item opens the submenu; the
   turquoise rule belongs to the submenu itself and spans its full width. */
@media (min-width: 1001px){
  .main-nav{position:relative;}
  .nav-group{position:relative;height:100%;}

  /* The reference submenu starts around the lower edge of the menu row,
     while the white header continues behind it. */
  .classic-menu{
    top:55px !important;
    transform:translateY(0) !important;
    margin:0 !important;
    border-top:3px solid var(--primary) !important;
    border-right:1px solid #edf0f4 !important;
    border-left:1px solid #edf0f4 !important;
    border-bottom:1px solid #edf0f4 !important;
    border-radius:0 0 12px 12px !important;
    box-shadow:0 18px 38px rgba(20,41,89,.12) !important;
    overflow:hidden !important;
  }

  /* Keep the hover path continuous from the nav label to the dropdown. */
  .nav-group::after{
    top:55px !important;
    height:34px !important;
    left:0 !important;
    right:0 !important;
    background:transparent !important;
    z-index:249 !important;
  }

  .nav-group:hover > .classic-menu,
  .nav-group.open > .classic-menu{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
  }

  .nav-group:hover > .nav-trigger,
  .nav-group.open > .nav-trigger{
    color:var(--primary) !important;
    background:transparent !important;
  }

  /* No rule under the nav item itself. */
  .main-nav > a::after,
  .nav-trigger::after{
    content:none !important;
    display:none !important;
  }

  .classic-menu a{
    display:block;
    padding:16px 24px !important;
    min-height:58px;
    box-sizing:border-box;
    font-size:16px !important;
    line-height:1.35;
    font-weight:500 !important;
    letter-spacing:0 !important;
  }

  .classic-menu a:hover{
    padding-inline-start:24px !important;
    background:#fbfdfd !important;
    color:var(--primary) !important;
  }
}

@media (min-width: 1001px) and (max-width: 1366px){
  .classic-menu{top:53px !important; width:276px;}
  .classic-menu a{font-size:15px !important; min-height:55px; padding:15px 22px !important;}
  .classic-menu a:hover{padding-inline-start:22px !important;}
}

@media (min-width: 1001px) and (max-width: 1100px){
  .classic-menu{top:50px !important; width:260px;}
}

/* v2.9 — Tablet/mobile header geometry and compact brand treatment */
@media (max-width: 1199px){
  .nav-inner{min-height:84px!important;padding-inline:28px!important;gap:12px!important;}
  .site-header.scrolled .nav-inner{min-height:74px!important;}

  /* Keep the brand on the far left and the hamburger on the far right. */
  .brand{min-width:0!important;flex:0 0 auto;gap:9px!important;}
  .brand-mark{width:54px!important;height:54px!important;}
  .brand-wordmark strong{font-size:24px!important;letter-spacing:-.035em!important;}
  .brand-wordmark em{font-size:21px!important;letter-spacing:-.02em!important;}

  /* Desktop navigation is replaced by the full mobile navigation drawer. */
  .main-nav{display:none!important;}
  .mobile-toggle{display:block!important;order:10;width:46px;height:46px;margin-left:auto;padding:8px;}
  .nav-actions{margin-left:auto;flex:0 0 auto;}
  .nav-actions .nav-cta,.nav-actions .search-button,.nav-actions .lang-switch{display:none!important;}

  .menu-open .main-nav{
    position:fixed!important;
    display:flex!important;
    left:0!important;
    right:0!important;
    top:84px!important;
    bottom:0!important;
    padding:15px 26px 34px!important;
    background:#fff!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    overflow:auto!important;
    z-index:105!important;
    box-shadow:0 18px 38px rgba(20,41,89,.12)!important;
  }
  .site-header.scrolled .menu-open .main-nav{top:74px!important;}

  .menu-open .main-nav>a,
  .menu-open .nav-trigger{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    padding:15px 3px!important;
    border-bottom:1px solid var(--line)!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:600!important;
    line-height:1.35!important;
    color:var(--secondary)!important;
  }
  .menu-open .main-nav>a:hover,
  .menu-open .main-nav>a.active,
  .menu-open .nav-trigger:hover,
  .menu-open .nav-trigger.active{color:var(--primary)!important;}

  .menu-open .nav-group{height:auto!important;display:block!important;}
  .menu-open .classic-menu{
    position:static!important;
    width:auto!important;
    display:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    margin:0!important;
    border:0!important;
    border-top:1px solid var(--line)!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .menu-open .nav-group.open .classic-menu{display:block!important;}
  .menu-open .classic-menu a{
    display:block!important;
    padding:11px 12px!important;
    min-height:0!important;
    border-bottom:1px solid #f0f2f5!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1.4!important;
    font-weight:500!important;
    color:var(--secondary)!important;
  }
  .menu-open .classic-menu a:hover{padding-inline-start:12px!important;background:#fbfdfd!important;color:var(--primary)!important;}

  .mobile-nav-languages{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    margin-top:6px!important;
    padding:17px 3px 3px!important;
    border-top:1px solid var(--line)!important;
  }
  .mobile-nav-languages a{
    padding:8px 11px!important;
    border:1px solid var(--line)!important;
    border-radius:999px!important;
    font:700 11px 'Outfit',Arial,sans-serif!important;
  }

  /* The desktop hover bridge must not create artifacts in the drawer. */
  .menu-open .nav-group::after{display:none!important;content:none!important;}
  .menu-open .lang-switch::after{display:none!important;content:none!important;}
}

@media (max-width: 767px){
  .nav-inner,.site-header.scrolled .nav-inner{min-height:72px!important;padding-inline:14px!important;}
  .brand-mark{width:46px!important;height:46px!important;}
  .brand-wordmark strong{font-size:20px!important;}
  .brand-wordmark em{font-size:18px!important;}
  .mobile-toggle{width:44px;height:44px;padding:7px;}
  .menu-open .main-nav{top:72px!important;padding:11px 18px 28px!important;}
  .site-header.scrolled .menu-open .main-nav{top:72px!important;}
  .menu-open .main-nav>a,.menu-open .nav-trigger{font-size:15px!important;padding:14px 3px!important;}
  .menu-open .classic-menu a{font-size:13px!important;padding:10px 11px!important;}
}

/* v2.9: no decorative marker beside the desktop language label */
.lang-trigger{gap:0!important;}
.lang-trigger::before,.lang-trigger::after{content:none!important;display:none!important;}

/* v3.0 — full mobile/tablet drawer. The desktop menu stays untouched above 1200px. */
.mobile-drawer{display:none;}

@media (max-width:1199px){
  body.menu-open{overflow:hidden;}

  /* Hide the desktop navigation in the small-screen header; the drawer below owns it. */
  .site-header .main-nav{display:none!important;}

  .mobile-toggle{display:block!important;order:20;margin-inline-start:auto!important;position:relative;z-index:1200;}

  .mobile-drawer{
    position:fixed;
    inset:84px 0 0;
    display:block;
    background:#fff;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    z-index:1100;
  }
  .mobile-drawer::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:#edf0f4;
  }
  body.menu-open .mobile-drawer{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .mobile-drawer-inner{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    overflow:auto;
    overscroll-behavior:contain;
    padding:10px 24px 34px;
    background:#fff;
    -webkit-overflow-scrolling:touch;
  }
  .site-header.scrolled + .mobile-drawer{top:74px;}

  .mobile-main-link,
  .mobile-group-toggle{
    width:100%;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 6px;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    color:var(--secondary);
    text-decoration:none;
    font:600 18px/1.25 'DM Sans',Arial,sans-serif;
    text-align:start;
    cursor:pointer;
  }
  .mobile-main-link:hover,
  .mobile-main-link:focus-visible,
  .mobile-group-toggle:hover,
  .mobile-group-toggle:focus-visible{color:var(--primary);outline:none;}

  .mobile-plus{
    position:relative;
    flex:0 0 18px;
    width:18px;
    height:18px;
  }
  .mobile-plus::before,
  .mobile-plus::after{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    background:currentColor;
    transform:translate(-50%,-50%);
    transition:transform .2s ease,opacity .2s ease;
  }
  .mobile-plus::before{width:14px;height:1.5px;}
  .mobile-plus::after{width:1.5px;height:14px;}
  .mobile-nav-group.open .mobile-plus::after{opacity:0;transform:translate(-50%,-50%) scaleY(.2);}

  .mobile-submenu{
    display:none;
    border-bottom:1px solid var(--line);
    padding:2px 0 7px;
  }
  .mobile-nav-group.open .mobile-submenu{display:block;}
  .mobile-submenu a{
    display:block;
    padding:11px 14px;
    color:#31406f;
    text-decoration:none;
    font:500 15px/1.35 'DM Sans',Arial,sans-serif;
    border-bottom:1px solid #f0f2f5;
  }
  .mobile-submenu a:last-child{border-bottom:0;}
  .mobile-submenu a:hover,
  .mobile-submenu a:focus-visible{color:var(--primary);background:#fbfdfd;outline:none;}

  .mobile-language-block{
    margin-top:20px;
    padding:18px 6px 4px;
    border-top:1px solid var(--line);
  }
  .mobile-language-label{
    margin-bottom:11px;
    color:var(--secondary);
    font:600 14px/1 'DM Sans',Arial,sans-serif;
  }
  .mobile-language-list{display:flex;gap:16px;flex-wrap:wrap;}
  .mobile-language-list a{
    color:var(--secondary);
    text-decoration:none;
    font:600 14px/1 'DM Sans',Arial,sans-serif;
  }
  .mobile-language-list a.current,
  .mobile-language-list a:hover,
  .mobile-language-list a:focus-visible{color:var(--primary);outline:none;}

  .mobile-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    margin-top:18px;
    padding:0 20px;
    border-radius:6px;
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    font:600 15px/1 'Outfit',Arial,sans-serif;
  }
  .mobile-cta:hover,
  .mobile-cta:focus-visible{background:var(--secondary);color:#fff;outline:none;}
}

@media (max-width:767px){
  .mobile-drawer{top:72px;}
  .mobile-drawer-inner{padding:8px 18px 28px;}
  .site-header.scrolled + .mobile-drawer{top:72px;}
  .mobile-main-link,.mobile-group-toggle{min-height:50px;font-size:16px;padding:13px 4px;}
  .mobile-submenu a{font-size:14px;padding:10px 12px;}
  .mobile-language-list a{font-size:13px;}
}

@media (prefers-reduced-motion:reduce){
  .mobile-drawer,.mobile-plus::before,.mobile-plus::after{transition:none;}
}


/* v3.1 — Mobile menu repair: the drawer is the ONLY small-screen navigation.
   This block intentionally overrides the legacy mobile-main-nav rules above. */
@media (max-width:1199px){
  .site-header .main-nav,
  body.menu-open .site-header .main-nav{
    display:none!important;
    visibility:hidden!important;
    position:static!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .mobile-drawer{
    top:var(--mobile-drawer-top,84px)!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    min-height:0!important;
    display:block!important;
    background:#fff!important;
    overflow:hidden!important;
    z-index:10000!important;
  }

  .mobile-drawer-inner{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0 28px 34px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
    -webkit-overflow-scrolling:touch;
  }

  .mobile-main-link,
  .mobile-group-toggle{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:16px 2px!important;
    border:0!important;
    border-bottom:1px solid #e9edf2!important;
    background:#fff!important;
    color:var(--secondary)!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:18px!important;
    line-height:1.3!important;
    font-weight:600!important;
    text-align:start!important;
    text-decoration:none!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    cursor:pointer!important;
  }

  .mobile-main-link:first-child{border-top:0!important;}
  .mobile-main-link:hover,
  .mobile-main-link:focus-visible,
  .mobile-group-toggle:hover,
  .mobile-group-toggle:focus-visible{
    color:var(--primary)!important;
    background:#fff!important;
    outline:none!important;
  }

  .mobile-group-toggle > span:first-child{min-width:0;}
  .mobile-plus{
    position:relative!important;
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    margin-inline-start:auto!important;
  }

  .mobile-submenu{
    display:none!important;
    margin:0!important;
    padding:0 0 4px!important;
    border:0!important;
    background:#fafcfd!important;
  }
  .mobile-nav-group.open .mobile-submenu{display:block!important;}
  .mobile-submenu a{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:12px 16px!important;
    border-bottom:1px solid #edf0f3!important;
    color:#31406f!important;
    background:#fafcfd!important;
    font:500 15px/1.45 'DM Sans',Arial,sans-serif!important;
    text-decoration:none!important;
  }
  .mobile-submenu a:hover,
  .mobile-submenu a:focus-visible{
    color:var(--primary)!important;
    background:#f2fbfa!important;
    outline:none!important;
  }

  .mobile-language-block{
    margin:20px 0 0!important;
    padding:18px 2px 0!important;
    border-top:1px solid var(--line)!important;
  }
  .mobile-language-label{
    margin:0 0 11px!important;
    color:var(--secondary)!important;
    font:600 14px/1.2 'DM Sans',Arial,sans-serif!important;
  }
  .mobile-language-list{display:flex!important;gap:16px!important;flex-wrap:wrap!important;}
  .mobile-language-list a{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    color:var(--secondary)!important;
    background:transparent!important;
    font:600 14px/1.2 'DM Sans',Arial,sans-serif!important;
  }
  .mobile-language-list a.current,
  .mobile-language-list a:hover,
  .mobile-language-list a:focus-visible{color:var(--primary)!important;}

  .mobile-cta{
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    margin:20px 0 0!important;
    padding:0 20px!important;
    border-radius:6px!important;
    align-items:center!important;
    justify-content:center!important;
    background:var(--primary)!important;
    color:#fff!important;
    font:600 15px/1 'Outfit',Arial,sans-serif!important;
    text-decoration:none!important;
  }
}

@media (max-width:767px){
  .mobile-drawer-inner{padding-inline:18px!important;}
  .mobile-main-link,.mobile-group-toggle{min-height:54px!important;font-size:17px!important;}
  .mobile-submenu a{font-size:14px!important;padding:11px 14px!important;}
}


/* v3.2 — final header/hero alignment + click-only desktop language */
@media (min-width:1200px){
  .home-page .topbar{
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    z-index:220;
  }
  .home-page .site-header{top:59px;}
  .lang-switch:hover .lang-menu{display:none!important;}
  .lang-switch.open .lang-menu{display:block!important;}
  .lang-switch.open .lang-trigger{color:var(--primary);}
}

@media (min-width:1200px){
  .hero-ref{margin-top:0!important;}
}



/* Lighter hero photo treatment on all breakpoints. */
.hero-soft-shade{background:radial-gradient(circle at 30% 71%,rgba(255,255,255,.78) 0 17%,rgba(255,255,255,0) 31%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));}

/* v3.3 — final header/hero refinements */
@media (min-width:1200px){
  /* Both bars share the same outer width as the desktop header. */
  .topbar{width:min(94.5%,1860px);}

  /* Both bars sit over the first section/hero, matching the reference composition. */
  .home-page .topbar,
  .inner-page .topbar{
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    z-index:220;
  }
  .home-page .site-header,
  .inner-page .site-header{top:59px;}

  /* Keep the primary navigation visually centred while the brand and CTA hug the edges. */
  .nav-inner{
    display:grid;
    grid-template-columns:minmax(285px,1fr) auto minmax(300px,1fr);
    align-items:center;
    gap:24px;
    padding-inline:42px;
  }
  .brand{justify-self:start;min-width:0;}
  .main-nav{justify-self:center;}
  .nav-actions{justify-self:end;}

  /* Clean typography: no decorative rule/marker on menu labels. */
  .main-nav>a,.nav-trigger{
    font-size:16px!important;
    padding-inline:13px!important;
  }
  .main-nav>a:after,.nav-trigger:after,
  .lang-trigger:before,.lang-trigger:after{content:none!important;display:none!important;}

  /* Dropdown starts a few pixels below the menu row, with the teal rule spanning the full menu. */
  .nav-group::after{
    top:100%!important;
    height:8px!important;
    left:0!important;right:0!important;
  }
  .classic-menu{
    top:calc(100% + 4px)!important;
    transform:translateY(0)!important;
  }
  .classic-menu a{
    padding:9px 22px!important;
    min-height:0!important;
    line-height:1.25!important;
    font-size:15px!important;
  }
  .classic-menu a:hover{padding-inline-start:27px!important;}

  /* Desktop language is hover-driven, not click-driven. */
  .lang-switch:hover .lang-menu,
  .lang-switch:focus-within .lang-menu{display:block!important;}
  .lang-switch .lang-menu{top:calc(100% + 8px)!important;}
  .lang-switch::after{top:100%!important;height:10px!important;}

  /* Slightly lighter hero photo treatment. */
  .hero-soft-shade{background:radial-gradient(circle at 30% 71%,rgba(255,255,255,.78) 0 17%,rgba(255,255,255,0) 31%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));}

  /* Same "starts from the top" treatment on inner-page hero/first section. */
  .inner-page .site-content{padding-top:0!important;margin-top:0!important;}
  .inner-page .pro-inner-hero{margin-top:0!important;}

  /* Sticky header rises to the very top when scrolling, as in the reference. */
  .site-header.scrolled{top:0!important;width:100%!important;border-radius:0!important;}
  .site-header.scrolled .nav-inner{min-height:82px!important;}
  .site-header.scrolled .brand-mark{width:58px!important;height:58px!important;}
  .site-header.scrolled .brand-wordmark strong{font-size:25px!important;}
  .site-header.scrolled .brand-wordmark em{font-size:22px!important;}
}

/* Force HTTPS for all pages so Chrome does not classify forms as insecure. */
@media (max-width:1199px){
  .inner-page .site-content{padding-top:0!important;margin-top:0!important;}
  .inner-page .pro-inner-hero{margin-top:0!important;}
}

/* v3.4.3 — submenu is anchored to the exact bottom edge of the navigation row.
   No fixed pixel offset: 100% follows the real menu row height at every desktop size. */
@media (min-width:1001px){
  .classic-menu{
    top:100% !important;
    transform:translateY(0) !important;
  }
  .nav-group::after{
    top:100% !important;
    height:18px !important;
  }
}


/* v3.4.5 — robust desktop language hover; no click dependency. */
@media (min-width:1001px){
  .lang-switch{position:relative !important; overflow:visible !important;}
  .lang-switch > .lang-trigger{pointer-events:auto !important;}
  .lang-switch > .lang-menu{
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    top:100% !important;
    transform:translateY(0) !important;
  }
  .lang-switch:hover > .lang-menu,
  .lang-switch:focus-within > .lang-menu{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    top:100% !important;
    transform:translateY(0) !important;
  }
  .lang-switch::after{
    content:'' !important;
    position:absolute !important;
    left:-10px !important;
    right:-10px !important;
    top:100% !important;
    height:18px !important;
    background:transparent !important;
  }
}


/* v3.4.6 — desktop language is hover-only, structurally matching the main submenu.
   The trigger is non-interactive text (no click state); visibility is controlled only by :hover. */
@media (min-width:1001px){
  .lang-switch{
    position:relative !important;
    overflow:visible !important;
  }
  .lang-switch > .lang-trigger{
    display:flex !important;
    align-items:center !important;
    cursor:default !important;
    pointer-events:none !important;
    user-select:none !important;
  }
  .lang-switch > .lang-menu{
    top:100% !important;
    right:0 !important;
    margin:0 !important;
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(0) !important;
    border-top:3px solid var(--primary) !important;
    z-index:400 !important;
  }
  .lang-switch:hover > .lang-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .lang-switch::after{
    content:'' !important;
    position:absolute !important;
    top:100% !important;
    left:-10px !important;
    right:-10px !important;
    height:18px !important;
    background:transparent !important;
    pointer-events:auto !important;
  }
  /* Remove every prior click/focus state from the desktop language menu. */
  .lang-switch.open > .lang-menu,
  .lang-switch:focus-within > .lang-menu{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .lang-switch:hover.open > .lang-menu,
  .lang-switch:hover:focus-within > .lang-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}


/* v3.4.8 — exact desktop language-dropdown alignment.
   The language control lives inside .nav-actions, which was vertically centered
   to its own content height. That made top:100% anchor to the EN control instead
   of to the full navigation row. Stretch the action column to the row height and
   the language wrapper to that same height, so 100% lands exactly at the menu edge. */
@media (min-width:1001px){
  .site-header .nav-actions{
    align-self:stretch !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
  }
  .site-header .nav-actions .lang-switch{
    position:relative !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    overflow:visible !important;
  }
  .site-header .nav-actions .lang-switch > .lang-menu{
    top:100% !important;
    margin-top:0 !important;
    transform:none !important;
  }
  .site-header .nav-actions .lang-switch::after{
    top:100% !important;
    height:18px !important;
  }
}

/* v3.4.9-safe: move ONLY the desktop language dropdown to the right.
   Keep the v3.4.8 submenu/header geometry unchanged. */
@media (min-width:1001px){
  .site-header .nav-actions .lang-switch > .lang-menu{
    left:-10px !important;
    right:auto !important;
  }
}


/* v3.5.0 — exact desktop header geometry based on supplied After reference.
   Applies only to the desktop/tablet-wide header; mobile menu behaviour stays intact. */
@media (min-width:1001px){
  .topbar,
  .site-header{
    width:94.5% !important;
    max-width:1396px !important;
    margin-inline:auto !important;
  }
  .topbar{
    height:55px !important;
    border:1px solid #edf0f4 !important;
    border-bottom:0 !important;
    border-radius:18px 18px 0 0 !important;
    overflow:hidden !important;
    box-shadow:none !important;
  }
  .topbar-inner{
    height:55px !important;
    padding:0 18px !important;
  }
  .top-item{
    height:55px !important;
    font-family:'DM Sans',Arial,sans-serif !important;
    font-size:15px !important;
    font-weight:500 !important;
    padding-inline:22px !important;
    gap:10px !important;
  }
  .top-item:first-child{padding-inline-start:0 !important;}
  .top-icon,
  .top-icon svg{width:20px !important;height:20px !important;}
  .top-icon-handset svg{stroke-width:2.55 !important;}
  .top-icon-mail{color:#142959 !important;}
  .top-icon-mail svg{stroke-width:2.5 !important;}
  .top-socials{display:flex !important;align-items:stretch !important;height:55px !important;border-left:1px solid #edf0f4 !important;}
  .top-socials .social-pill{
    width:42px !important;
    height:55px !important;
    display:grid !important;
    place-items:center !important;
    border-left:0 !important;
    font-family:'DM Sans',Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:var(--secondary) !important;
    background:transparent !important;
  }
  .top-socials .social-pill:hover{background:var(--soft) !important;color:var(--primary) !important;}
  .social-ig{font-size:18px !important;line-height:1 !important;}

  .site-header{
    top:55px !important;
    min-height:84px !important;
    border-radius:0 0 18px 18px !important;
  }
  .nav-inner{
    min-height:84px !important;
    height:84px !important;
    display:grid !important;
    grid-template-columns:minmax(330px,1fr) auto minmax(255px,1fr) !important;
    align-items:center !important;
    gap:22px !important;
    padding:0 16px 0 20px !important;
  }
  .brand{
    justify-self:start !important;
    min-width:0 !important;
    gap:12px !important;
  }
  .brand-mark{width:58px !important;height:58px !important;}
  .brand-wordmark{line-height:.92 !important;}
  .brand-wordmark strong{font-size:27px !important;letter-spacing:-.045em !important;}
  .brand-wordmark em{font-size:23px !important;letter-spacing:-.035em !important;}

  .main-nav{
    justify-self:center !important;
    height:84px !important;
    align-items:center !important;
    gap:0 !important;
  }
  .main-nav>a,
  .nav-trigger{
    font-family:'DM Sans',Arial,sans-serif !important;
    font-size:16px !important;
    font-weight:600 !important;
    padding-inline:13px !important;
    line-height:1 !important;
  }

  .nav-actions{
    justify-self:end !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex:0 0 auto !important;
    min-width:255px !important;
    justify-content:flex-end !important;
  }
  .lang-switch{height:84px !important;display:flex !important;align-items:center !important;}
  .lang-trigger{font-size:16px !important;padding:8px 4px !important;}
  .nav-cta{
    min-height:51px !important;
    height:51px !important;
    padding-inline:28px !important;
    font-size:13px !important;
    min-width:178px !important;
    border-radius:6px !important;
  }
  .search-button{display:none !important;}

  /* Language menu remains hover-driven and is anchored to the same lower edge as the main nav. */
  .lang-switch > .lang-menu{
    top:100% !important;
    right:auto !important;
    left:-10px !important;
  }
  .lang-switch::after{top:100% !important;height:18px !important;}
}

/* Keep the mobile/tablet header compact and aligned with the reference while leaving
   the full drawer navigation untouched. */
@media (max-width:1000px){
  .search-button{display:none !important;}
  .mobile-toggle{margin-inline-start:auto !important;}
}


/* v3.5.3 — precision header refinements from supplied Before/After reference. */
@media (min-width:1200px){
  /* Keep the brand at the left edge and consultation CTA at the right edge with a clean breathing room. */
  .site-header:not(.scrolled) .nav-inner{
    padding-left:12px!important;
    padding-right:10px!important;
    grid-template-columns:minmax(350px,1fr) auto minmax(320px,1fr)!important;
  }
  .site-header:not(.scrolled) .brand{justify-self:start!important;}
  .site-header:not(.scrolled) .nav-actions{justify-self:end!important;}

  /* Delicate separator between the upper information bar and the main header. */
  .topbar{border-bottom:1px solid #e9edf2!important;}

  /* Use real vector social marks; slightly larger and optically balanced. */
  .top-socials .social-pill{width:46px!important;}
  .top-socials .social-pill svg{
    width:17px!important;height:17px!important;display:block!important;
    color:currentColor;
  }
  .top-socials .social-fb svg{width:16px!important;height:16px!important;}
  .top-socials .social-in svg{width:18px!important;height:18px!important;}
  .top-socials .social-ig svg{width:18px!important;height:18px!important;}

  /* When scrolling, the main menu becomes a true full-viewport bar. */
  .site-header.scrolled{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    width:100vw!important;max-width:none!important;
    margin:0!important;
    transform:none!important;
    border-radius:0!important;
    box-shadow:0 8px 26px rgba(20,41,89,.12)!important;
  }
  .site-header.scrolled .nav-inner{
    width:100%!important;max-width:none!important;
    margin:0!important;
    padding-left:28px!important;padding-right:28px!important;
  }
  .site-header.scrolled .brand{justify-self:start!important;}
  .site-header.scrolled .nav-actions{justify-self:end!important;}
}

@media (max-width:1199px){
  .topbar{border-bottom:1px solid #e9edf2!important;}
  .top-socials .social-pill svg{width:17px!important;height:17px!important;}
}

/* v3.5.6 — reverse the last micro-adjustment by request.
   Brand moves 16px left; consultation CTA moves 16px right.
   Language position remains untouched. */
@media (min-width:1200px){
  .site-header:not(.scrolled) .nav-inner{
    padding-left:4px!important;
  }
  .site-header:not(.scrolled) .nav-cta{
    transform:translateX(8px)!important;
  }
  .top-socials .social-pill svg{
    width:18px!important;height:18px!important;display:block!important;
  }

  /* Center the non-sticky header without translateX so it can transition to/from full width
     without a horizontal slide when the user scrolls back up. */
  .site-header{
    left:0!important;
    right:0!important;
    transform:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .site-header.scrolled{
    left:0!important;
    right:0!important;
    transform:none!important;
    margin:0!important;
    width:100vw!important;
    max-width:none!important;
    animation:none!important;
  }
}
