:root{
  --ms-accent:#F47A24;
  --ms-bg:#303132;
  --ms-surface:#151515;
  --ms-text:#F5F5F2;
  --ms-muted:#b7b8b4;
  --ms-line:rgba(255,255,255,.14);
  --ms-panel:rgba(16,16,16,.9);
  --ms-dark:#0d0e0e;
  --ms-white:#fff;
  --ms-radius:10px;
  --ms-container:min(1420px,calc(100vw - 64px));
  --ms-header:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.mslp-active{margin:0;background:var(--ms-bg);color:var(--ms-text);overflow-x:hidden}
body.mslp-active.admin-bar .ms-header{top:32px}
.ms-site{position:relative;background:var(--ms-bg);color:var(--ms-text);font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;overflow:hidden}
.ms-site *{box-sizing:border-box}
.ms-site a{color:inherit;text-decoration:none}
.ms-site img{max-width:100%;height:auto;display:block}
.ms-site button,.ms-site input,.ms-site select,.ms-site textarea{font:inherit}
.ms-site h1,.ms-site h2,.ms-site h3,.ms-site p{margin-top:0}
.ms-site h1,.ms-site h2,.ms-site h3{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.055em;line-height:.94}
.ms-site h1{font-size:clamp(4rem,8.2vw,9.6rem)}
.ms-site h2{font-size:clamp(2.8rem,5.3vw,6.3rem)}
.ms-site h3{font-size:clamp(1.55rem,2.3vw,2.6rem)}
.ms-container{width:var(--ms-container);margin-inline:auto}
.ms-main{min-height:70vh}
.ms-section{padding:140px 0;border-top:1px solid var(--ms-line);position:relative}
.ms-eyebrow,.ms-card-kicker{font-size:.69rem;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--ms-accent)}
.ms-lead{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.48;color:#d9dad6;max-width:820px}
.ms-index{display:inline-flex;width:42px;height:42px;border:1px solid var(--ms-line);align-items:center;justify-content:center;font-size:.72rem;font-weight:900;color:var(--ms-accent);margin-bottom:28px}
.ms-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:36px}
.ms-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:14px 20px;border:1px solid var(--ms-accent);background:var(--ms-accent);color:#0a0c0a!important;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease}
.ms-button:hover{transform:translateY(-3px);background:transparent;color:var(--ms-accent)!important}
.ms-text-link{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ms-accent);padding-bottom:5px}
.ms-text-link:hover{color:var(--ms-accent)}
.ms-skip-link{position:fixed;left:20px;top:-100px;z-index:999999;background:var(--ms-accent);color:#000!important;padding:12px 18px;font-weight:800}
.ms-skip-link:focus{top:20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header and overlay menu */
.ms-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--ms-header);transition:background .3s ease,border-color .3s ease;pointer-events:none}
.ms-header.is-scrolled{background:rgba(12,13,13,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--ms-line)}
.ms-header__inner{height:100%;width:calc(100vw - 64px);margin:auto;display:flex;align-items:center;justify-content:space-between;pointer-events:auto}
.ms-brand{display:flex;flex-direction:column;line-height:1.1}
.ms-brand strong{font-size:1.16rem;letter-spacing:-.035em}
.ms-brand small{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ms-accent);margin-top:5px}
.ms-header__right{display:flex;align-items:center;gap:26px}
.ms-header__contact{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.ms-header__contact:hover{color:var(--ms-accent)}
.ms-dot-menu{width:62px;height:62px;border-radius:22px;border:0;background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;box-shadow:0 12px 38px rgba(0,0,0,.2);transition:transform .25s ease,background .25s ease}
.ms-dot-menu:hover{transform:rotate(-4deg) scale(1.04)}
.ms-dot-menu span:not(.screen-reader-text){display:block;width:8px;height:8px;border-radius:50%;background:#050505;transition:transform .25s ease}
.ms-dot-menu[aria-expanded="true"]{background:var(--ms-accent)}
.ms-dot-menu[aria-expanded="true"] span:nth-child(1){transform:translateX(15px)}
.ms-dot-menu[aria-expanded="true"] span:nth-child(3){transform:translateX(-15px)}
.ms-overlay-menu{position:fixed;inset:0;background:rgba(10,11,11,.98);z-index:-1;pointer-events:auto}
.ms-overlay-menu__inner{width:var(--ms-container);height:100%;margin:auto;padding:140px 0 60px;display:grid;grid-template-columns:1fr 280px;grid-template-rows:auto 1fr auto;gap:30px 80px}
.ms-overlay-menu__inner>.ms-eyebrow{grid-column:1/-1}
.ms-overlay-menu nav{display:flex;flex-direction:column;align-items:flex-start}
.ms-overlay-menu nav a{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(2.1rem,4.2vw,5rem);line-height:1.02;letter-spacing:-.055em;color:#d8d8d3;transition:color .2s ease,transform .2s ease}
.ms-overlay-menu nav a:hover{color:var(--ms-accent);transform:translateX(10px)}
.ms-overlay-menu__regions{display:flex;flex-direction:column;gap:14px;align-self:start}
.ms-overlay-menu__regions a{padding:18px 0;border-bottom:1px solid var(--ms-line);font-weight:800}
.ms-overlay-menu__contact{grid-column:1/-1;border-top:1px solid var(--ms-line);padding-top:25px;display:flex;gap:30px;color:var(--ms-muted)}

/* Poster homepage */
.ms-poster{position:relative;min-height:1160px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 35%),linear-gradient(180deg,#343536 0%,#2f3031 72%,#272828 100%);border-bottom:1px solid var(--ms-line);overflow:hidden}
.ms-poster__noise{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.ms-poster__name{position:absolute;left:5.5vw;top:125px;z-index:1;display:flex;flex-direction:column;color:rgba(255,255,255,.12);font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(7rem,14vw,15rem);font-weight:950;line-height:.72;letter-spacing:-.09em;white-space:nowrap;user-select:none}
.ms-poster__role{position:absolute;z-index:3;left:6.1vw;top:365px;font-size:clamp(1rem,1.4vw,1.45rem);font-weight:900;letter-spacing:-.03em;text-transform:uppercase;color:#111}
.ms-poster__person{position:absolute;z-index:2;width:min(49vw,720px);left:50%;bottom:-30px;transform:translateX(-50%);pointer-events:none}
.ms-person-image{width:100%;max-height:1030px;object-fit:contain;object-position:center bottom;filter:saturate(.84) contrast(1.06);mask-image:linear-gradient(to bottom,#000 0%,#000 91%,transparent 100%)}
.ms-poster-card{position:absolute;z-index:5;background:var(--ms-panel);border:1px solid rgba(255,255,255,.22);border-radius:var(--ms-radius);padding:30px;color:var(--ms-text);box-shadow:0 22px 60px rgba(0,0,0,.18);backdrop-filter:blur(14px);transition:border-color .25s ease,box-shadow .25s ease}
.ms-poster-card:hover{border-color:var(--ms-accent);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.ms-poster-card p{color:#c4c5c1}
.ms-poster-card a,.ms-poster-card>span:last-child{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--ms-accent)}
.ms-poster-card--profile{left:6vw;top:435px;width:min(360px,28vw);min-height:360px}
.ms-poster-card--profile h1{font-size:clamp(1.9rem,2.7vw,3.15rem);line-height:.98;margin:15px 0 24px}
.ms-poster-card--profile>p:not(.ms-card-kicker){font-size:.93rem}
.ms-inline-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.ms-inline-tags span{padding:6px 9px;background:var(--ms-accent);color:#090a09;font-size:.66rem;font-weight:900;text-transform:uppercase}
.ms-poster-card--education{right:7vw;top:225px;width:min(310px,25vw);display:flex;flex-direction:column}
.ms-poster-card--education strong{font-size:1rem;line-height:1.25;margin-top:13px}
.ms-poster-card--education span{font-size:.78rem;color:var(--ms-muted)}
.ms-poster-card--skills{right:6vw;top:475px;width:min(270px,23vw);background:transparent;border:0;box-shadow:none;text-align:right;backdrop-filter:none;padding-right:0}
.ms-poster-card--skills:hover{box-shadow:none;border-color:transparent}
.ms-poster-card--skills ul{list-style:none;padding:0;margin:15px 0 0;color:#c0c0bd;font-size:.78rem}
.ms-poster-card--skills li{margin:4px 0}
.ms-poster-card--projects{left:6vw;bottom:105px;width:min(315px,26vw);min-height:170px;display:flex;flex-direction:column;justify-content:space-between}
.ms-poster-card--projects strong,.ms-poster-card--lead strong{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.35rem;line-height:1.05;letter-spacing:-.04em}
.ms-poster-card--regions{left:28vw;bottom:80px;width:240px;display:flex;flex-direction:column;gap:9px;padding:24px}
.ms-poster-card--regions small{margin-top:8px;color:var(--ms-muted)}
.ms-poster-card--lead{right:6vw;bottom:85px;width:min(345px,28vw);min-height:205px;display:flex;flex-direction:column;justify-content:space-between}
.ms-poster__orbit{position:absolute;z-index:4;width:175px;height:175px;right:30vw;top:350px;display:grid;place-items:center;color:#fff}
.ms-poster__orbit svg{position:absolute;inset:0;animation:ms-spin 18s linear infinite}
.ms-poster__orbit text{fill:#fff;font-size:10px;letter-spacing:3px;font-weight:800}
.ms-poster__orbit>span{font-size:3rem;color:var(--ms-accent)}
@keyframes ms-spin{to{transform:rotate(360deg)}}
.ms-poster__contact{position:absolute;z-index:5;left:6vw;bottom:28px;display:flex;gap:20px;font-size:.72rem;color:#d4d4d0}

/* Shared headings and service cards */
.ms-section-heading{max-width:980px;margin-bottom:65px}
.ms-section-heading h2{margin:15px 0 25px}
.ms-section-heading>p:last-child{color:var(--ms-muted);font-size:1.05rem;max-width:670px}
.ms-section-heading--split{display:grid;grid-template-columns:150px minmax(0,1fr) 360px;gap:45px;max-width:none;align-items:start}
.ms-section-heading--split h2{margin:0}
.ms-service-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ms-line);border-left:1px solid var(--ms-line)}
.ms-service-card{min-height:380px;padding:28px;border-right:1px solid var(--ms-line);border-bottom:1px solid var(--ms-line);display:flex;flex-direction:column;position:relative;transition:background .25s ease,color .25s ease}
.ms-service-card>span{font-size:.68rem;color:var(--ms-accent);font-weight:900}
.ms-service-card h3{font-size:clamp(1.5rem,2vw,2.3rem);margin:65px 0 22px}
.ms-service-card p{color:var(--ms-muted);font-size:.9rem}
.ms-service-card a{margin-top:auto;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.ms-service-card:hover{background:var(--ms-accent);color:#090a09}
.ms-service-card:hover p,.ms-service-card:hover>span{color:#121312}
.ms-region-showcase{background:var(--ms-dark)}
.ms-region-showcase__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ms-region-panel{min-height:570px;padding:55px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid var(--ms-line)}
.ms-region-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 5%,rgba(0,0,0,.82) 92%);z-index:0}
.ms-region-panel:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-80px;top:-80px}
.ms-region-panel>*{position:relative;z-index:2}
.ms-region-panel--algarve{background:radial-gradient(circle at 72% 25%,rgba(244,122,36,.25),transparent 32%),#242625}
.ms-region-panel--beira{background:radial-gradient(circle at 72% 25%,rgba(255,255,255,.16),transparent 32%),#242424}
.ms-region-panel h2{font-size:clamp(2.3rem,4vw,4.6rem);max-width:720px}
.ms-region-panel p:not(.ms-eyebrow){max-width:650px;color:#c6c7c3}
.ms-region-panel a{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--ms-accent);margin-top:15px}

/* Projects */
.ms-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.ms-project-card{border:1px solid var(--ms-line);background:rgba(255,255,255,.025);min-height:550px;overflow:hidden}
.ms-project-card>a{display:flex;flex-direction:column;height:100%}
.ms-project-card__image{height:390px;overflow:hidden;background:linear-gradient(135deg,#191a1a,#383a39);position:relative;display:flex;align-items:center;justify-content:center}
.ms-project-card__image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4))}
.ms-project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s ease;filter:saturate(.75)}
.ms-project-card:hover img{transform:scale(1.035);filter:saturate(1)}
.ms-project-card__image>span{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(2.2rem,4vw,4.6rem);line-height:.9;letter-spacing:-.07em;text-align:center;padding:30px;color:rgba(255,255,255,.16)}
.ms-project-card__body{position:relative;padding:28px;min-height:160px}
.ms-project-card__body p{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:var(--ms-accent)}
.ms-project-card__body h3{font-size:2.25rem;margin:10px 45px 13px 0}
.ms-project-card__body span{color:var(--ms-muted);font-size:.88rem}
.ms-project-card__body i{position:absolute;right:25px;top:52px;font-size:1.6rem;font-style:normal;color:var(--ms-accent)}

/* Method and authority */
.ms-method{background:var(--ms-dark)}
.ms-method__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ms-line)}
.ms-authority__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}
.ms-authority__visual{aspect-ratio:1/1;border:1px solid var(--ms-line);display:flex;flex-direction:column;justify-content:center;padding:45px;background:var(--ms-surface);overflow:hidden}
.ms-authority__visual span{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(2.8rem,6vw,6.6rem);line-height:.82;letter-spacing:-.08em;color:rgba(255,255,255,.2)}
.ms-authority__visual span:nth-child(2){color:var(--ms-accent);transform:translateX(9%)}
.ms-authority h2{margin:15px 0 30px}
.ms-authority p:not(.ms-eyebrow){font-size:1.15rem;color:#d0d1cd}

/* Service pages */
.ms-service-hero{min-height:850px;padding:calc(var(--ms-header) + 110px) 0 110px;position:relative;display:flex;align-items:flex-end;border-bottom:1px solid var(--ms-line);overflow:hidden}
.ms-service-hero__word{position:absolute;left:2vw;top:145px;font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(7rem,15vw,16rem);line-height:.75;letter-spacing:-.1em;color:rgba(255,255,255,.055);white-space:nowrap}
.ms-service-hero__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.55fr);gap:80px;align-items:end;position:relative;z-index:2}
.ms-service-hero__copy h1{font-size:clamp(4.3rem,7.5vw,9rem);max-width:1150px;margin:18px 0 35px}
.ms-service-hero__panel{background:var(--ms-panel);border:1px solid var(--ms-line);padding:35px;min-height:310px;display:flex;flex-direction:column}
.ms-service-hero__panel>p{font-size:.65rem;color:var(--ms-accent);letter-spacing:.12em;font-weight:900}
.ms-service-hero__panel blockquote{margin:auto 0;font-size:1.25rem;line-height:1.4;font-weight:700}
.ms-service-hero__panel span{font-size:.68rem;color:var(--ms-muted);text-transform:uppercase;letter-spacing:.08em}
.ms-deliverables__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ms-line);border-left:1px solid var(--ms-line)}
.ms-deliverable{min-height:225px;padding:30px;border-right:1px solid var(--ms-line);border-bottom:1px solid var(--ms-line);display:flex;flex-direction:column;justify-content:space-between}
.ms-deliverable span{font-size:.66rem;color:var(--ms-accent);font-weight:900}
.ms-deliverable p{font-size:1.1rem;font-weight:700;max-width:340px;margin-bottom:0}
.ms-use-cases{background:var(--ms-dark)}
.ms-use-cases__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.ms-tag-cloud{display:flex;flex-wrap:wrap;gap:10px}
.ms-tag-cloud span{padding:13px 17px;border:1px solid var(--ms-line);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.ms-tag-cloud span:nth-child(2n){background:var(--ms-accent);color:#090a09;border-color:var(--ms-accent);font-weight:900}
.ms-local-service__grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px;align-items:center}
.ms-local-service__marker{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(4rem,9vw,10rem);line-height:.72;letter-spacing:-.09em;color:rgba(255,255,255,.18)}
.ms-local-service h2{margin:15px 0 30px}
.ms-local-service p:not(.ms-eyebrow){font-size:1.15rem;color:#d1d2ce;max-width:780px}

/* Regional pages */
.ms-region-hero{min-height:880px;padding:calc(var(--ms-header) + 100px) 0 95px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-bottom:1px solid var(--ms-line)}
.ms-region-hero:before{content:"";position:absolute;width:780px;height:780px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-200px;top:60px}
.ms-region-hero{--ms-region-accent:var(--ms-accent)}
.ms-page-beira_baixa .ms-region-hero{--ms-region-accent:#5BC7F2}
.ms-region-hero__map{position:absolute;right:8vw;top:155px;width:330px;height:330px;border:1px solid rgba(255,255,255,.13);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.035),transparent 67%);overflow:hidden}
.ms-region-hero__map:before,.ms-region-hero__map:after{content:"";position:absolute;background:rgba(255,255,255,.07);pointer-events:none}.ms-region-hero__map:before{width:1px;height:100%;left:50%}.ms-region-hero__map:after{height:1px;width:100%;top:50%}
.ms-site .ms-region-hero__map img{position:absolute!important;z-index:2;left:50%!important;top:50%!important;display:block!important;width:42%!important;height:84%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;transform:translate(-50%,-50%);filter:drop-shadow(0 16px 28px rgba(0,0,0,.28))}
.ms-region-hero__content{position:relative;z-index:2}
.ms-region-hero h1{max-width:1100px;margin:16px 0 30px}
.ms-region-hero__cities{position:relative;z-index:2;width:var(--ms-container);margin:70px auto 0;display:flex;flex-wrap:wrap;gap:10px}
.ms-region-hero__cities span{padding:9px 13px;border:1px solid var(--ms-line);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.ms-region-context{background:var(--ms-dark)}
.ms-region-context__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.ms-region-sectors__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ms-line)}
.ms-region-sector{padding:30px;border-right:1px solid var(--ms-line);min-height:360px}
.ms-region-sector:last-child{border-right:0}
.ms-region-sector>span{font-size:.68rem;color:var(--ms-accent);font-weight:900}
.ms-region-sector h3{margin:80px 0 20px}
.ms-region-sector p{color:var(--ms-muted)}
.ms-service-links{border-top:1px solid var(--ms-line)}
.ms-service-links a{display:grid;grid-template-columns:80px 1fr 50px;align-items:center;padding:26px 0;border-bottom:1px solid var(--ms-line);transition:padding .2s ease,background .2s ease}
.ms-service-links a:hover{padding-inline:18px;background:var(--ms-accent);color:#090a09}
.ms-service-links span{font-size:.68rem;font-weight:900;color:var(--ms-accent)}
.ms-service-links a:hover span{color:#090a09}
.ms-service-links strong{font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(1.5rem,3vw,3.2rem);letter-spacing:-.05em}
.ms-service-links i{font-style:normal;font-size:1.4rem;text-align:right}

/* Archive, profile, resume */
.ms-archive-hero{min-height:710px;padding:calc(var(--ms-header) + 120px) 0 100px;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-bottom:1px solid var(--ms-line)}
.ms-archive-hero__word{position:absolute;top:130px;left:4vw;font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(9rem,24vw,25rem);line-height:.75;letter-spacing:-.1em;color:rgba(255,255,255,.055)}
.ms-archive-hero .ms-container{position:relative;z-index:2}
.ms-archive-hero h1{max-width:1050px;margin:15px 0 30px}
.ms-profile-hero{min-height:920px;padding:calc(var(--ms-header) + 80px) 0 0;position:relative;overflow:hidden;border-bottom:1px solid var(--ms-line)}
.ms-profile-hero__name{position:absolute;left:3vw;top:140px;font-family:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(8rem,18vw,20rem);line-height:.72;letter-spacing:-.1em;color:rgba(255,255,255,.06)}
.ms-profile-hero__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;position:relative;z-index:2;height:800px}
.ms-profile-hero__photo{align-self:end;height:100%;display:flex;align-items:flex-end;justify-content:center}
.ms-profile-hero__photo .ms-person-image{height:100%;width:auto;max-width:none}
.ms-profile-hero h1{font-size:clamp(4rem,7vw,8rem);margin:15px 0 35px}
.ms-principles{background:var(--ms-dark)}
.ms-principles__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ms-line)}
.ms-principles article{padding:30px;min-height:380px;border-right:1px solid var(--ms-line)}
.ms-principles article:last-child{border-right:0}
.ms-principles article>span{font-size:.7rem;color:var(--ms-accent)}
.ms-principles h3{margin:95px 0 22px}
.ms-principles p{color:var(--ms-muted)}
.ms-education-focus__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.ms-education-focus p:not(.ms-eyebrow){font-size:1.2rem;color:#d0d1cd}
.ms-resume-hero{min-height:800px;padding:calc(var(--ms-header) + 90px) 0 0;border-bottom:1px solid var(--ms-line);overflow:hidden}
.ms-resume-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;height:700px}
.ms-resume-hero h1{font-size:clamp(4rem,7.7vw,8.5rem);margin:14px 0 30px}
.ms-resume-hero__portrait{height:100%;display:flex;align-items:flex-end;justify-content:center}
.ms-resume-hero__portrait .ms-person-image{height:100%;width:auto;max-width:none}
.ms-resume{background:var(--ms-dark)}
.ms-resume__grid{display:grid;grid-template-columns:280px 1fr;gap:80px}
.ms-resume__side{position:sticky;top:140px;align-self:start;border:1px solid var(--ms-line);padding:28px}
.ms-resume__side ul{list-style:none;padding:0;margin:15px 0 45px;color:var(--ms-muted)}
.ms-resume__side li{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.ms-resume-item{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:42px 0;border-top:1px solid var(--ms-line)}
.ms-resume-item>span{font-size:.72rem;color:var(--ms-accent);font-weight:900}
.ms-resume-item div>p:first-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ms-muted)}
.ms-resume-item h2{font-size:clamp(2rem,4vw,4.7rem);margin:8px 0 18px}
.ms-resume-item div>p:last-child{color:#c7c8c4;max-width:760px}
.ms-resume-education__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ms-line)}
.ms-resume-education article{padding:40px;border-right:1px solid var(--ms-line);min-height:280px}
.ms-resume-education article:last-child{border-right:0}
.ms-resume-education span{font-size:.7rem;color:var(--ms-accent);font-weight:900}
.ms-resume-education h3{margin:80px 0 12px}
.ms-resume-education p{color:var(--ms-muted)}

/* FAQ */
.ms-faq{background:var(--ms-dark)}
.ms-faq__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}
.ms-accordion details{border-top:1px solid var(--ms-line)}
.ms-accordion details:last-child{border-bottom:1px solid var(--ms-line)}
.ms-accordion summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:1.05rem}
.ms-accordion summary::-webkit-details-marker{display:none}
.ms-accordion summary span{font-size:1.6rem;color:var(--ms-accent);transition:transform .2s ease}
.ms-accordion details[open] summary span{transform:rotate(45deg)}
.ms-accordion details>div{padding:0 50px 25px 0;color:var(--ms-muted)}

/* Lead form */
.ms-lead-section{background:var(--ms-accent);color:#0a0b0a}
.ms-lead-section .ms-eyebrow{color:#0a0b0a}
.ms-lead-section__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.ms-lead-section__copy h2{font-size:clamp(3.2rem,6vw,7rem);margin:15px 0 30px}
.ms-lead-section__copy>p:not(.ms-eyebrow){font-size:1.1rem;max-width:620px}
.ms-lead-section__micro{margin-top:55px;display:flex;flex-direction:column;gap:9px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.ms-lead-form{background:#111211;color:var(--ms-text);border:1px solid rgba(0,0,0,.3);padding:35px}
.ms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ms-form-grid label,.ms-consent{display:flex;flex-direction:column;gap:7px}
.ms-form-grid label>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#b7b8b4;font-weight:800}
.ms-form-grid input,.ms-form-grid select,.ms-form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.16);background:#1a1b1a;color:#fff;border-radius:0;padding:14px 13px;outline:none;transition:border-color .2s ease}
.ms-form-grid input:focus,.ms-form-grid select:focus,.ms-form-grid textarea:focus{border-color:var(--ms-accent)}
.ms-form-grid textarea{resize:vertical}
.ms-form-wide{grid-column:1/-1}
.ms-consent{flex-direction:row;align-items:flex-start;margin:20px 0;color:#bfc0bc;font-size:.75rem}
.ms-consent input{margin-top:3px;accent-color:var(--ms-accent)}
.ms-consent a{text-decoration:underline}
.ms-button--submit{width:100%}
.ms-form-status{min-height:22px;font-size:.78rem;margin-top:12px}
.ms-form-status.is-success{color:var(--ms-accent)}
.ms-form-status.is-error{color:#ff8e8e}
.ms-honeypot{position:absolute!important;left:-99999px!important}

/* Contact, insights, legal, thanks */
.ms-contact-hero{padding:calc(var(--ms-header) + 100px) 0 130px;min-height:100vh}
.ms-contact-hero h1{font-size:clamp(4.8rem,10vw,11rem);max-width:1250px;margin:18px 0 60px}
.ms-contact-hero__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}
.ms-contact-links{border-top:1px solid var(--ms-line);margin-top:45px}
.ms-contact-links>a,.ms-contact-links>div{display:flex;flex-direction:column;padding:18px 0;border-bottom:1px solid var(--ms-line);color:#d1d2ce}
.ms-contact-links span{font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ms-muted);margin-bottom:4px}
.ms-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ms-insight-card{border:1px solid var(--ms-line);min-height:470px;background:rgba(255,255,255,.02)}
.ms-insight-card>a{height:100%;display:flex;flex-direction:column}
.ms-insight-card img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.7)}
.ms-insight-card div{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.ms-insight-card time,.ms-insight-card div>span:first-child{font-size:.64rem;color:var(--ms-accent);text-transform:uppercase;letter-spacing:.09em}
.ms-insight-card h2{font-size:2.15rem;margin:22px 0}
.ms-insight-card p{color:var(--ms-muted)}
.ms-insight-card div>span:last-child{margin-top:auto;font-size:.7rem;font-weight:900;text-transform:uppercase}
.ms-insight-card--planned{opacity:.82}
.ms-thanks{min-height:100svh;display:flex;align-items:center;text-align:center;padding:calc(var(--ms-header) + 70px) 0 100px}
.ms-thanks .ms-container{max-width:950px}
.ms-thanks__mark{width:74px;height:74px;border:1px solid var(--ms-accent);display:grid;place-items:center;margin:0 auto 28px;font-size:2rem;color:var(--ms-accent)}
.ms-thanks h1{margin:15px 0 25px}
.ms-thanks .ms-lead{margin-inline:auto}
.ms-thanks .ms-actions{justify-content:center}
.ms-legal{padding:calc(var(--ms-header) + 90px) 0 130px}
.ms-legal__inner{max-width:920px}
.ms-legal h1{margin:15px 0 25px}
.ms-legal h2{font-size:2.3rem;margin-top:65px;letter-spacing:-.045em}
.ms-legal p{color:#c4c5c1}
.ms-legal__updated{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.ms-legal__notice{border:1px solid var(--ms-accent);padding:25px;margin-top:65px}

/* Project single */
.ms-project-single__hero{padding:calc(var(--ms-header) + 110px) 0 100px;min-height:700px;display:flex;align-items:flex-end;border-bottom:1px solid var(--ms-line)}
.ms-project-single__hero h1{margin:14px 0 30px;max-width:1100px}
.ms-project-single__meta{display:flex;gap:30px;margin-top:45px}
.ms-project-single__meta span{display:flex;flex-direction:column;padding:15px 25px 15px 0;border-right:1px solid var(--ms-line)}
.ms-project-single__meta small{font-size:.62rem;text-transform:uppercase;color:var(--ms-muted);letter-spacing:.08em;margin-bottom:4px}
.ms-project-single__cover{margin-top:65px}
.ms-project-single__cover img{width:100%;max-height:800px;object-fit:cover}
.ms-project-single__content{max-width:1100px;padding-top:100px;padding-bottom:120px}
.ms-project-single__content>section{display:grid;grid-template-columns:170px 1fr;gap:45px;padding:55px 0;border-top:1px solid var(--ms-line)}
.ms-project-single__content>section h2{font-size:clamp(2.3rem,4.6vw,5.2rem);margin:0 0 25px;grid-column:2}
.ms-project-single__content>section>p:last-child{grid-column:2;color:#c9cac6;font-size:1.12rem}
.ms-project-single__editor{display:block!important}

/* Footer */
.ms-footer{background:#0c0d0d;border-top:1px solid var(--ms-line);padding:110px 0 24px}
.ms-footer__headline{display:grid;grid-template-columns:170px 1fr auto;gap:45px;align-items:end;padding-bottom:100px;border-bottom:1px solid var(--ms-line)}
.ms-footer__headline h2{font-size:clamp(3rem,5.8vw,6.5rem);margin:0}
.ms-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:55px;padding:65px 0}
.ms-footer__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.ms-footer__grid strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ms-accent);margin-bottom:10px}
.ms-footer__grid p,.ms-footer__grid a{color:#aeb0ab;font-size:.83rem}
.ms-footer__grid a:hover{color:var(--ms-accent)}
.ms-footer__bottom{border-top:1px solid var(--ms-line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:#8f918d}

/* Reveal and focus */
.ms-reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}
.ms-reveal.is-visible{opacity:1;transform:none}
.ms-site a:focus-visible,.ms-site button:focus-visible,.ms-site input:focus-visible,.ms-site select:focus-visible,.ms-site textarea:focus-visible,.ms-site summary:focus-visible{outline:3px solid var(--ms-accent);outline-offset:4px}

@media (max-width:1200px){
  :root{--ms-container:min(calc(100% - 48px),1160px)}
  .ms-poster{min-height:1080px}
  .ms-poster__name{font-size:12vw}
  .ms-poster__role{top:325px}
  .ms-poster-card--profile{top:390px;width:330px}
  .ms-poster-card--education{right:4vw}
  .ms-poster-card--skills{right:4vw}
  .ms-poster-card--regions{display:none}
  .ms-poster__orbit{right:26vw}
  .ms-service-grid{grid-template-columns:repeat(3,1fr)}
  .ms-section-heading--split{grid-template-columns:120px 1fr 290px}
  .ms-region-sectors__grid,.ms-principles__grid{grid-template-columns:repeat(2,1fr)}
  .ms-region-sector:nth-child(2),.ms-principles article:nth-child(2){border-right:0}
  .ms-region-sector,.ms-principles article{border-bottom:1px solid var(--ms-line)}
}

@media (max-width:900px){
  :root{--ms-container:calc(100% - 36px);--ms-header:82px}
  body.mslp-active.admin-bar .ms-header{top:46px}
  .ms-header__inner{width:calc(100vw - 36px)}
  .ms-header__contact{display:none}
  .ms-dot-menu{width:54px;height:54px;border-radius:18px}
  .ms-dot-menu span:not(.screen-reader-text){width:7px;height:7px}
  .ms-overlay-menu__inner{grid-template-columns:1fr;padding-top:120px;overflow:auto}
  .ms-overlay-menu__regions{display:grid;grid-template-columns:1fr 1fr}
  .ms-overlay-menu__contact{flex-direction:column;gap:8px;padding-bottom:40px}
  .ms-section{padding:90px 0}
  .ms-poster{min-height:auto;padding:135px 18px 70px;display:flex;flex-direction:column;gap:18px}
  .ms-poster__name{top:120px;left:15px;font-size:22vw;line-height:.75}
  .ms-poster__role{position:relative;left:auto;top:auto;z-index:4;margin:150px 0 0;color:#111;font-size:.92rem}
  .ms-poster__person{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:660px;display:flex;align-items:flex-end;justify-content:center;order:1;margin-top:-40px}
  .ms-poster__person .ms-person-image{height:100%;width:auto;max-width:none}
  .ms-poster-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;min-height:0!important;transform:none!important;order:2;padding:26px}
  .ms-poster-card--profile{order:0;margin-top:-125px;z-index:6}
  .ms-poster-card--profile h1{font-size:2.1rem}
  .ms-poster-card--education,.ms-poster-card--skills{display:none}
  .ms-poster-card--projects,.ms-poster-card--regions,.ms-poster-card--lead{display:flex}
  .ms-poster-card--regions{order:3}
  .ms-poster-card--lead{order:4}
  .ms-poster__orbit{display:none}
  .ms-poster__contact{position:relative;left:auto;bottom:auto;order:5;flex-direction:column;gap:5px;margin-top:15px;font-size:.68rem}
  .ms-section-heading--split{grid-template-columns:1fr;gap:14px}
  .ms-service-grid{grid-template-columns:1fr 1fr}
  .ms-service-card{min-height:310px}
  .ms-region-showcase__grid,.ms-project-grid,.ms-authority__grid,.ms-service-hero__grid,.ms-use-cases__grid,.ms-local-service__grid,.ms-region-context__grid,.ms-profile-hero__grid,.ms-education-focus__grid,.ms-resume-hero__grid,.ms-faq__grid,.ms-lead-section__grid,.ms-contact-hero__grid{grid-template-columns:1fr}
  .ms-region-panel{min-height:500px;padding:35px}
  .ms-method__grid{grid-template-columns:1fr 1fr}
  .ms-authority__visual{max-width:620px}
  .ms-service-hero{min-height:auto;padding-top:170px}
  .ms-service-hero__word{top:125px}
  .ms-service-hero__panel{min-height:250px}
  .ms-deliverables__grid{grid-template-columns:1fr 1fr}
  .ms-region-hero{min-height:760px;padding-top:170px}
  .ms-region-hero__map{opacity:.5;right:-120px;top:170px}
  .ms-region-hero__cities{margin-top:45px}
  .ms-profile-hero{padding-top:140px;min-height:auto}
  .ms-profile-hero__grid{height:auto}
  .ms-profile-hero__photo{height:650px;order:2}
  .ms-resume-hero{padding-top:150px;min-height:auto}
  .ms-resume-hero__grid{height:auto}
  .ms-resume-hero__portrait{height:620px}
  .ms-resume__grid{grid-template-columns:1fr}
  .ms-resume__side{position:static}
  .ms-insight-grid{grid-template-columns:1fr 1fr}
  .ms-footer__headline{grid-template-columns:1fr;align-items:start}
  .ms-footer__grid{grid-template-columns:1fr 1fr}
  .ms-project-single__content>section{grid-template-columns:1fr;gap:10px}
  .ms-project-single__content>section h2,.ms-project-single__content>section>p:last-child{grid-column:1}
}

@media (max-width:620px){
  :root{--ms-container:calc(100% - 28px)}
  .ms-site h1{font-size:clamp(3.3rem,15vw,5rem)}
  .ms-site h2{font-size:clamp(2.5rem,11vw,4rem)}
  .ms-brand small{font-size:.57rem}
  .ms-poster{padding-inline:14px}
  .ms-poster__name{font-size:24vw}
  .ms-poster__role{margin-top:120px}
  .ms-poster__person{height:530px;margin-top:-20px}
  .ms-poster-card--profile{margin-top:-90px}
  .ms-service-grid,.ms-region-showcase__grid,.ms-project-grid,.ms-method__grid,.ms-deliverables__grid,.ms-region-sectors__grid,.ms-principles__grid,.ms-resume-education__grid,.ms-insight-grid{grid-template-columns:1fr}
  .ms-service-card{min-height:290px}
  .ms-service-card h3{margin-top:55px}
  .ms-region-panel{min-height:470px;padding:28px}
  .ms-project-card{min-height:470px}
  .ms-project-card__image{height:310px}
  .ms-region-sector,.ms-principles article,.ms-resume-education article{border-right:0}
  .ms-local-service__marker{font-size:5.5rem}
  .ms-region-hero__map{display:none}
  .ms-region-hero{min-height:auto}
  .ms-region-hero__cities{gap:6px}
  .ms-region-hero__cities span{font-size:.6rem;padding:7px 9px}
  .ms-profile-hero__photo,.ms-resume-hero__portrait{height:520px}
  .ms-profile-hero__photo .ms-person-image,.ms-resume-hero__portrait .ms-person-image{height:100%;width:auto;max-width:none}
  .ms-resume-item{grid-template-columns:1fr;gap:10px}
  .ms-form-grid{grid-template-columns:1fr}
  .ms-form-wide{grid-column:1}
  .ms-lead-form{padding:24px 18px}
  .ms-contact-hero h1{font-size:3.7rem}
  .ms-footer__grid{grid-template-columns:1fr}
  .ms-footer__bottom{flex-direction:column}
  .ms-project-single__meta{flex-direction:column;gap:0}
  .ms-project-single__meta span{border-right:0;border-bottom:1px solid var(--ms-line)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ms-reveal{opacity:1;transform:none;transition:none}
  .ms-poster__orbit svg{animation:none}
  .ms-poster-card,.ms-button,.ms-project-card img{transition:none}
}

/* =========================================================
   V5.4 — CONSOLIDATED HOME SYSTEM
   One layout system for desktop, laptop, tablet and mobile.
   Replaces the accumulated V3/V4/V5 homepage overrides.
   ========================================================= */

:root{--ms-font:"Urbanist",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ms-site,
.ms-site button,
.ms-site input,
.ms-site select,
.ms-site textarea{font-family:var(--ms-font)}
.ms-site h1,
.ms-site h2,
.ms-site h3,
.ms-site h4,
.ms-site .ms-overlay-menu nav a,
.ms-site .ms-project-art strong,
.ms-site .ms-home-region__number{font-family:var(--ms-font);font-weight:900}
.ms-site h1,.ms-site h2,.ms-site h3{letter-spacing:-.055em}
body.mslp-active{background:#071722}

.ms-home-v5{
  --ms-header:86px;
  --ms-v54-navy:#071722;
  --ms-v54-navy-2:#091d29;
  --ms-v54-black:#080b0d;
  --ms-v54-charcoal:#15191a;
  --ms-v54-panel:rgba(8,12,14,.9);
  --ms-v54-panel-soft:rgba(11,16,18,.82);
  --ms-v54-line:rgba(255,255,255,.14);
  --ms-v54-muted:#aeb8be;
  --ms-v54-radius:14px;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:clip;
}
.ms-home-v5 .ms-main{background:var(--ms-v54-navy)}
.ms-home-v5 .ms-container{width:min(1280px,calc(100vw - 64px))}
.ms-home-v5 .ms-section{border-top:1px solid rgba(255,255,255,.1)}

/* Header */
.ms-home-v5 .ms-header{height:var(--ms-header)}
.ms-home-v5 .ms-header__inner{width:calc(100vw - 48px)}
.ms-home-v5 .ms-header__contact{font-size:.72rem;letter-spacing:.1em}
.ms-home-v5 .ms-dot-menu{width:54px;height:54px;border-radius:17px;gap:6px}
.ms-home-v5 .ms-dot-menu span:not(.screen-reader-text){width:6px;height:6px}

/* Hero canvas */
.ms-home-v5 .ms-home-hero{
  position:relative;
  isolation:isolate;
  width:100%;
  height:clamp(760px,100svh,980px);
  min-height:760px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 33%,rgba(255,255,255,.11),transparent 34%),
    radial-gradient(circle at 50% 108%,rgba(244,122,36,.07),transparent 34%),
    linear-gradient(180deg,#303435 0%,#262a2b 68%,#191d1e 100%);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.ms-v5-hero__texture{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.14;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")
}
.ms-v5-hero__grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.09;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:144px 144px
}
.ms-v5-hero__halo{
  position:absolute;z-index:1;left:50%;top:49%;width:min(51vw,760px);aspect-ratio:1;
  transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.075);border-radius:50%;pointer-events:none
}
.ms-v5-hero__halo:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.045);border-radius:50%}
.ms-v5-hero__wordmark{
  position:absolute;z-index:1;left:50%;top:14.5%;transform:translateX(-50%);width:100%;
  display:flex;flex-direction:column;align-items:center;color:rgba(255,255,255,.1);pointer-events:none;user-select:none;
  font-family:var(--ms-font);font-weight:900;font-size:clamp(7.6rem,13.7vw,15rem);line-height:.68;letter-spacing:-.09em
}
.ms-v54-hero__stage{
  position:absolute;z-index:3;
  inset:calc(var(--ms-header) + 24px) clamp(28px,3.8vw,76px) 82px;
  display:grid;
  grid-template-columns:minmax(330px,.95fr) minmax(350px,1.08fr) minmax(285px,.82fr);
  gap:clamp(18px,2.2vw,44px);
  align-items:center;
}
.ms-v5-hero__left-stack,
.ms-v5-hero__right-stack{position:relative;z-index:7;display:grid;align-content:center;gap:12px;min-width:0}
.ms-v5-hero__left-stack{justify-self:start;width:min(100%,420px)}
.ms-v5-hero__right-stack{justify-self:end;width:min(100%,330px)}
.ms-v54-hero__center{position:relative;z-index:3;align-self:stretch;min-width:0}
.ms-v5-hero__portrait{position:absolute;z-index:4;inset:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.ms-v5-hero__portrait .ms-person-image,
.ms-v5-hero__portrait-image{
  width:auto!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
  filter:saturate(.98) contrast(1.02)!important;
  -webkit-mask-image:none!important;mask-image:none!important
}
.ms-v5-hero__shadow{
  position:absolute;z-index:-1;left:50%;bottom:1.4%;width:46%;height:2.7%;transform:translateX(-50%);
  border-radius:50%;background:rgba(0,0,0,.35);filter:blur(13px)
}

/* Hero panels */
.ms-v5-panel{
  position:relative;display:flex;flex-direction:column;color:#f7f7f4;
  background:linear-gradient(145deg,rgba(12,15,16,.95),rgba(6,9,11,.86));
  border:1px solid rgba(255,255,255,.18);border-radius:var(--ms-v54-radius);
  box-shadow:0 22px 60px rgba(0,0,0,.3);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease
}
.ms-v5-panel:hover{transform:translateY(-3px);border-color:rgba(244,122,36,.78);box-shadow:0 30px 76px rgba(0,0,0,.4)}
.ms-v5-panel .ms-card-kicker{margin:0 0 12px;font-size:.6rem;letter-spacing:.14em}
.ms-v5-panel--manifesto{padding:25px 27px 23px}
.ms-v5-panel--manifesto h1{max-width:390px;margin:0 0 13px;font-size:clamp(2.08rem,2.34vw,2.78rem);line-height:.91;letter-spacing:-.067em}
.ms-v5-panel__summary{max-width:370px;margin:0;color:#c2cbcf;font-size:.79rem;line-height:1.48}
.ms-v5-panel__actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:9px;margin-top:17px}
.ms-home-v5 .ms-hero-primary,
.ms-home-v5 .ms-hero-secondary{
  display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);
  font-size:.54rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase;transition:.2s ease
}
.ms-home-v5 .ms-hero-primary{background:var(--ms-accent);border-color:var(--ms-accent);color:#111!important}
.ms-home-v5 .ms-hero-primary:hover{background:#ff8d3d;border-color:#ff8d3d;color:#0a0e10!important;box-shadow:0 13px 30px rgba(244,122,36,.22);transform:translateY(-2px)}
.ms-home-v5 .ms-hero-secondary:hover{border-color:var(--ms-accent);color:var(--ms-accent)}

.ms-v5-panel--services{width:88%;margin-left:18px;padding:16px 19px 14px}
.ms-v5-panel--services>a{display:grid;grid-template-columns:27px minmax(0,1fr) 15px;align-items:center;gap:7px;min-height:29px;border-top:1px solid rgba(255,255,255,.1)}
.ms-v5-panel--services>a span{font-size:.51rem;color:var(--ms-accent);font-weight:900}
.ms-v5-panel--services>a strong{font-size:.69rem;line-height:1.15;letter-spacing:.005em}
.ms-v5-panel--services>a i{font-style:normal;text-align:right;color:var(--ms-accent);font-size:.68rem}
.ms-v5-panel--services>a:hover strong{color:var(--ms-accent)}

.ms-v5-region{
  width:88%;margin-left:18px;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:10px;
  padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(10,14,16,.7);
  box-shadow:0 16px 40px rgba(0,0,0,.2);transition:.2s ease
}
.ms-v5-region:hover{border-color:var(--ms-accent);transform:translateY(-2px)}
.ms-v5-region__pin{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:var(--ms-accent)}
.ms-v5-region>span:nth-child(2){display:flex;flex-direction:column}
.ms-v5-region strong{font-size:.67rem;line-height:1.1}.ms-v5-region small{margin-top:3px;color:#98a3a8;font-size:.55rem}
.ms-v5-region i{font-style:normal;color:var(--ms-accent);text-align:right}

.ms-v5-panel--education{padding:20px 21px 17px}
.ms-v5-education-row{display:grid;grid-template-columns:25px 1fr;gap:9px;padding:9px 0;border-top:1px solid rgba(255,255,255,.1)}
.ms-v5-education-row .ms-v5-icon{display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--ms-accent);font-size:.64rem}
.ms-v5-education-row div{display:flex;flex-direction:column}.ms-v5-education-row strong{font-size:.79rem;line-height:1.18}.ms-v5-education-row small{margin-top:3px;color:#9fa8ad;font-size:.6rem;line-height:1.25}
.ms-v5-panel--skills{padding:18px 21px 16px}
.ms-v5-panel--skills ul{list-style:none;margin:0;padding:0}
.ms-v5-panel--skills li{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:7px;min-height:29px;border-top:1px solid rgba(255,255,255,.1)}
.ms-v5-panel--skills li span{font-size:.48rem;color:var(--ms-accent);font-weight:900}.ms-v5-panel--skills li strong{font-size:.67rem;line-height:1.15}
.ms-v5-panel--lead{min-height:115px;padding:17px 19px 15px;display:grid;grid-template-columns:35px 1fr;gap:11px}
.ms-v5-panel--lead .ms-v5-lead-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ms-accent);color:#111;font-size:1rem}
.ms-v5-panel--lead>div{align-self:start}.ms-v5-panel--lead .ms-card-kicker{display:block;margin:1px 0 5px}.ms-v5-panel--lead strong{display:block;font-size:.93rem;line-height:1.08}
.ms-v5-panel__link{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:9px;border-top:1px solid rgba(255,255,255,.11);color:#aeb7bb;font-size:.54rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.ms-v5-panel__link b{color:var(--ms-accent)}

/* Hero signature signal — a unique visual system connecting business, marketing and technology. */
.ms-v6-hero-signal{
  position:absolute;z-index:3;right:-72px;top:57%;width:clamp(205px,16vw,246px);aspect-ratio:1;
  transform:translateY(-50%);border-radius:50%;pointer-events:none;filter:drop-shadow(0 22px 42px rgba(0,0,0,.26));
}
.ms-v6-hero-signal:before{
  content:"";position:absolute;inset:0;border-radius:50%;opacity:.7;
  background:repeating-conic-gradient(from 18deg,rgba(244,122,36,.9) 0 1deg,transparent 1deg 10deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);
  animation:ms-v6-signal-spin 30s linear infinite;
}
.ms-v6-hero-signal:after{
  content:"";position:absolute;inset:8%;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(244,122,36,.11),transparent 38%),radial-gradient(circle at 50% 50%,transparent 61%,rgba(255,255,255,.045) 62%,transparent 63%);
  box-shadow:inset 0 0 48px rgba(244,122,36,.035),0 0 52px rgba(244,122,36,.045);
}
.ms-v6-hero-signal__ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.ms-v6-hero-signal__ring--outer{inset:7%;border-color:rgba(255,255,255,.18);animation:ms-v6-signal-breathe 4.8s ease-in-out infinite}
.ms-v6-hero-signal__ring--middle{inset:22%;border-style:dashed;border-color:rgba(244,122,36,.42);animation:ms-v6-signal-spin-reverse 22s linear infinite}
.ms-v6-hero-signal__ring--inner{inset:36%;border-color:rgba(255,255,255,.24);box-shadow:0 0 0 8px rgba(255,255,255,.012)}
.ms-v6-hero-signal__sweep{position:absolute;inset:11%;border-radius:50%;overflow:hidden;animation:ms-v6-signal-spin 9s linear infinite}
.ms-v6-hero-signal__sweep:before{content:"";position:absolute;left:50%;top:50%;width:46%;height:1px;transform-origin:left center;background:linear-gradient(90deg,rgba(244,122,36,.95),transparent);box-shadow:0 0 12px rgba(244,122,36,.65)}
.ms-v6-hero-signal__sweep:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -8deg,rgba(244,122,36,.14),transparent 17% 100%)}
.ms-v6-hero-signal__axis{position:absolute;z-index:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.ms-v6-hero-signal__axis--x{left:5%;right:5%;top:50%;height:1px}
.ms-v6-hero-signal__axis--y{top:5%;bottom:5%;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.14),transparent)}
.ms-v6-hero-signal__node{position:absolute;z-index:4;width:8px;height:8px;border:2px solid #252a2c;border-radius:50%;background:var(--ms-accent);box-shadow:0 0 0 5px rgba(244,122,36,.11),0 0 18px rgba(244,122,36,.5);animation:ms-v6-signal-node 2.6s ease-in-out infinite}
.ms-v6-hero-signal__node--one{right:8.5%;top:47%}
.ms-v6-hero-signal__node--two{left:23%;bottom:15%;animation-delay:-.9s}
.ms-v6-hero-signal__node--three{left:29%;top:18%;width:6px;height:6px;background:#f6f1e9;box-shadow:0 0 0 4px rgba(255,255,255,.08),0 0 14px rgba(255,255,255,.24);animation-delay:-1.7s}
.ms-v6-hero-signal__label{position:absolute;z-index:5;padding:5px 7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,12,14,.72);color:#d8ddde;font-size:.44rem;font-weight:900;line-height:1;letter-spacing:.12em;box-shadow:0 8px 20px rgba(0,0,0,.18);backdrop-filter:blur(7px)}
.ms-v6-hero-signal__label--web{left:50%;top:-3px;transform:translateX(-50%)}
.ms-v6-hero-signal__label--marketing{right:-15px;top:50%;transform:translateY(-50%)}
.ms-v6-hero-signal__label--ai{left:50%;bottom:-3px;transform:translateX(-50%);color:var(--ms-accent)}
.ms-v6-hero-signal__label--systems{left:-16px;top:50%;transform:translateY(-50%)}
.ms-v6-hero-signal__core{position:absolute;z-index:5;inset:34%;display:grid;place-items:center;border:1px solid rgba(244,122,36,.62);border-radius:16px;background:linear-gradient(145deg,rgba(16,20,21,.98),rgba(6,9,10,.96));box-shadow:0 14px 34px rgba(0,0,0,.34),inset 0 0 22px rgba(244,122,36,.05);transform:rotate(45deg);animation:ms-v6-signal-core 5.4s ease-in-out infinite}
.ms-v6-hero-signal__core>span{display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-45deg)}
.ms-v6-hero-signal__core b{color:#f5f2ec;font-size:1.05rem;line-height:1;letter-spacing:-.05em}
.ms-v6-hero-signal__core small{margin-top:5px;color:#9da8ac;font-size:.34rem;font-weight:900;line-height:1.35;letter-spacing:.11em;text-align:center}
.ms-v6-hero-signal__pointer{position:absolute;z-index:6;right:23%;bottom:22%;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--ms-accent);color:#101314;font-size:.9rem;box-shadow:0 9px 22px rgba(244,122,36,.24);animation:ms-v6-signal-pointer 3.2s ease-in-out infinite}
.ms-home-v5 .ms-hero-primary span{display:inline-block;transition:transform .2s ease}
.ms-home-v5 .ms-hero-primary:hover span,.ms-home-v5 .ms-hero-primary:focus-visible span{transform:translate(2px,-2px)}
@keyframes ms-v6-signal-spin{to{transform:rotate(360deg)}}
@keyframes ms-v6-signal-spin-reverse{to{transform:rotate(-360deg)}}
@keyframes ms-v6-signal-breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.025);opacity:1}}
@keyframes ms-v6-signal-node{0%,100%{transform:scale(.82);opacity:.6}50%{transform:scale(1.12);opacity:1}}
@keyframes ms-v6-signal-core{0%,100%{transform:rotate(45deg) scale(1)}50%{transform:rotate(45deg) scale(1.035)}}
@keyframes ms-v6-signal-pointer{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,4px)}}

/* Direct contacts — prominent on desktop and present on mobile */
.ms-v5-hero__contact{
  position:absolute;z-index:12;left:50%;bottom:14px;transform:translateX(-50%);width:min(760px,56vw);
  display:grid;grid-template-columns:1fr 1fr 1.25fr;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:12px;
  background:rgba(7,11,13,.82);box-shadow:0 18px 52px rgba(0,0,0,.26);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.ms-v5-hero__contact>a,.ms-v5-hero__contact>div{min-width:0;padding:11px 14px;border-right:1px solid rgba(255,255,255,.11);display:flex;flex-direction:column;gap:2px}
.ms-v5-hero__contact>div:last-child{border-right:0}
.ms-v5-hero__contact span{font-size:.48rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--ms-accent)}
.ms-v5-hero__contact strong{overflow:hidden;text-overflow:ellipsis;font-size:.7rem;line-height:1.2;color:#f1f2ef;white-space:nowrap}
.ms-v5-hero__contact a:hover strong{color:var(--ms-accent)}

/* Shared home section rhythm */
.ms-home-v5 .ms-home-intro,
.ms-home-v5 .ms-home-regions,
.ms-home-v5 .ms-projects-section,
.ms-home-v5 .ms-home-clients,
.ms-home-v5 .ms-home-authority,
.ms-home-v5 .ms-faq,
.ms-home-v5 .ms-lead-section{padding:108px 0}

/* Intro and services */
.ms-home-v5 .ms-home-intro{background:var(--ms-v54-navy)}
.ms-home-intro__top{display:flex;justify-content:space-between;align-items:center}
.ms-home-intro__index{margin:0;font-size:.6rem;font-weight:800;letter-spacing:.11em;color:#78868e}
.ms-home-intro__statement{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.58fr);gap:72px;align-items:end;padding:46px 0 54px}
.ms-home-intro__statement h2{max-width:820px;margin:0;font-size:clamp(3rem,4.45vw,5.15rem);line-height:.92}
.ms-home-intro__aside{max-width:410px;margin-left:auto}.ms-home-intro__aside p{margin:0;color:#b7c1c6;font-size:.94rem;line-height:1.68}.ms-home-intro__aside span{display:block;margin-top:20px;padding-top:13px;border-top:1px solid rgba(255,255,255,.13);color:var(--ms-accent);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ms-home-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ms-home-service{position:relative;grid-column:span 2;min-height:260px;padding:24px 25px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:linear-gradient(145deg,#0b1e2a,#081822);overflow:hidden;transition:.25s ease}
.ms-home-service:nth-child(4),.ms-home-service:nth-child(5){grid-column:span 3}
.ms-home-service:hover{transform:translateY(-4px);border-color:rgba(244,122,36,.6);box-shadow:0 25px 65px rgba(0,0,0,.22)}
.ms-home-service__top{display:flex;justify-content:space-between;gap:18px;align-items:center}.ms-home-service__top>span{color:var(--ms-accent);font-size:.61rem;font-weight:900}.ms-home-service__top small{color:#74838b;font-size:.5rem;font-weight:800;letter-spacing:.1em}
.ms-home-service__visual{position:absolute;top:38px;right:22px;width:96px;height:68px;opacity:.48}.ms-home-service__visual i{position:absolute;display:block;border:1px solid rgba(255,255,255,.42)}.ms-home-service__visual i:nth-child(1){inset:0 20px 18px 0}.ms-home-service__visual i:nth-child(2){width:53px;height:38px;right:0;bottom:0;background:rgba(255,255,255,.035)}.ms-home-service__visual i:nth-child(3){width:19px;height:19px;right:12px;top:9px;border-color:var(--ms-accent);border-radius:50%}
.ms-home-service h3{position:relative;z-index:2;max-width:330px;margin:58px 0 11px;font-size:clamp(1.72rem,1.85vw,2.18rem);line-height:.95}.ms-home-service p{position:relative;z-index:2;max-width:450px;margin:0 0 19px;color:#aebac0;font-size:.8rem;line-height:1.56}.ms-home-service>a{position:relative;z-index:2;margin-top:auto;display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:.55rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ms-home-service>a span{color:var(--ms-accent)}

/* Regions */
.ms-home-v5 .ms-home-regions{background:#0a0d0e}
.ms-home-section-head,.ms-home-clients__heading{display:grid;grid-template-columns:160px minmax(0,1fr);gap:58px;align-items:start;margin-bottom:44px}.ms-home-section-head>div span,.ms-home-clients__heading>div span{display:block;margin-top:9px;color:#707a7e;font-size:.54rem;font-weight:800;letter-spacing:.1em}.ms-home-section-head h2{max-width:830px;margin:0;font-size:clamp(2.8rem,4vw,4.6rem);line-height:.93}
.ms-home-regions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ms-home-region{--ms-region-accent:#F47A24;--ms-region-glow:rgba(244,122,36,.17);position:relative;min-height:430px;padding:34px 36px 32px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:radial-gradient(circle at 84% 17%,var(--ms-region-glow),transparent 35%),linear-gradient(145deg,#1a1f1d,#101313);overflow:hidden;isolation:isolate;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.ms-home-region--beira{--ms-region-accent:#5BC7F2;--ms-region-glow:rgba(91,199,242,.15);background:radial-gradient(circle at 84% 17%,var(--ms-region-glow),transparent 36%),linear-gradient(145deg,#171d20,#101314)}
.ms-home-region:hover{transform:translateY(-4px);border-color:var(--ms-region-accent);box-shadow:0 26px 72px rgba(0,0,0,.28)}
.ms-home-region:after{content:"";position:absolute;z-index:0;inset:auto -18% -46% 38%;height:72%;border:1px solid rgba(255,255,255,.07);border-radius:50%}.ms-home-region>*{position:relative;z-index:2}
.ms-home-region__map{position:absolute!important;z-index:1!important;right:24px;top:24px;width:184px;height:184px;border:1px solid rgba(255,255,255,.13);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,var(--ms-region-glow),transparent 68%);overflow:hidden;transition:transform .35s ease,border-color .25s ease,box-shadow .25s ease}
.ms-home-region__map:before,.ms-home-region__map:after{content:"";position:absolute;background:rgba(255,255,255,.07);pointer-events:none}.ms-home-region__map:before{width:1px;height:100%;left:50%}.ms-home-region__map:after{height:1px;width:100%;top:50%}
.ms-site .ms-home-region__map img{position:absolute!important;z-index:2;left:50%!important;top:50%!important;display:block!important;width:44%!important;height:86%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;transform:translate(-50%,-50%);filter:drop-shadow(0 13px 24px rgba(0,0,0,.24));transition:transform .35s ease,filter .35s ease}
.ms-home-region:hover .ms-home-region__map{transform:translateY(-2px);border-color:var(--ms-region-accent);box-shadow:0 18px 40px rgba(0,0,0,.16)}.ms-site .ms-home-region:hover .ms-home-region__map img{transform:translate(-50%,-50%) scale(1.025);filter:drop-shadow(0 16px 28px rgba(0,0,0,.3))}
.ms-home-region__number{position:absolute!important;right:25px;bottom:16px;font-size:4rem;color:rgba(255,255,255,.05)}
.ms-home-region .ms-eyebrow{color:var(--ms-region-accent)}
.ms-home-region h3{max-width:calc(100% - 176px);margin:56px 0 14px;font-size:clamp(1.9rem,2.25vw,2.7rem);line-height:.98}
.ms-home-region>p:not(.ms-eyebrow){max-width:82%;margin-bottom:0;color:#afb8bc;font-size:.82rem;line-height:1.6}
.ms-home-region__cities{display:flex;flex-wrap:wrap;gap:7px;margin:19px 0 20px}.ms-home-region__cities span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);font-size:.51rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#d0d4d2;background:rgba(255,255,255,.012);transition:border-color .2s ease,background .2s ease,color .2s ease}
.ms-home-region:hover .ms-home-region__cities span{border-color:var(--ms-region-accent);background:rgba(255,255,255,.025)}
.ms-home-region>a{align-self:flex-start;margin-top:auto;padding-bottom:4px;border-bottom:1px solid var(--ms-region-accent);font-size:.57rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ms-region-accent)!important;transition:transform .2s ease,border-color .2s ease}
.ms-home-region>a:hover{transform:translateX(4px);border-color:var(--ms-region-accent)}

/* Projects */
.ms-home-v5 .ms-projects-section{background:var(--ms-v54-navy)}
.ms-home-v5 .ms-projects-section .ms-section-heading--split{display:grid;grid-template-columns:160px minmax(0,1fr) 210px;gap:44px;align-items:start;margin-bottom:43px}.ms-home-v5 .ms-projects-section .ms-section-heading--split h2{max-width:800px;margin:0;font-size:clamp(2.8rem,4.05vw,4.7rem);line-height:.93}.ms-home-v5 .ms-projects-section .ms-section-heading--split>p:last-child{margin:0;padding-top:4px;font-size:.8rem;line-height:1.55}
.ms-home-v5 .ms-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ms-home-v5 .ms-project-card{min-height:390px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#0b1c27;overflow:hidden;transition:.25s ease}.ms-home-v5 .ms-project-card:hover{transform:translateY(-4px);border-color:rgba(244,122,36,.55);box-shadow:0 25px 65px rgba(0,0,0,.24)}.ms-home-v5 .ms-project-card__image{height:250px}.ms-home-v5 .ms-project-card__body{min-height:138px;padding:20px 22px 21px}.ms-home-v5 .ms-project-card__body p{font-size:.53rem}.ms-home-v5 .ms-project-card__body h3{font-size:1.65rem}.ms-home-v5 .ms-project-card__body span{font-size:.66rem}.ms-home-v5 .ms-project-art{padding:24px}.ms-home-v5 .ms-project-art strong{font-size:clamp(1.8rem,2.6vw,3rem);color:rgba(255,255,255,.22)}

/* Clients */
.ms-home-v5 .ms-home-clients{position:relative;background:#080b0d;overflow:hidden}
.ms-home-clients:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 18%,rgba(244,122,36,.065),transparent 31%),linear-gradient(90deg,transparent,rgba(255,255,255,.015),transparent);pointer-events:none}
.ms-home-clients__heading{position:relative;z-index:2;grid-template-columns:160px minmax(0,1fr) 300px;gap:44px;margin-bottom:46px}
.ms-home-clients__heading h2{max-width:820px;margin:0;font-size:clamp(2.8rem,4vw,4.6rem);line-height:.93}
.ms-home-clients__heading>p{margin:0;color:#a2acb1;font-size:.82rem;line-height:1.62}
.ms-home-clients__stage{position:relative;z-index:2;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden}
.ms-home-clients__stage:before,.ms-home-clients__stage:after{content:"";position:absolute;z-index:5;top:0;bottom:0;width:132px;pointer-events:none}
.ms-home-clients__stage:before{left:0;background:linear-gradient(90deg,#080b0d 10%,rgba(8,11,13,.97) 38%,rgba(8,11,13,.78) 58%,transparent)}
.ms-home-clients__stage:after{right:0;background:linear-gradient(270deg,#080b0d 10%,rgba(8,11,13,.97) 38%,rgba(8,11,13,.78) 58%,transparent)}
.ms-logo-marquee{position:relative;overflow:hidden;padding:4px 0}
.ms-logo-marquee+.ms-logo-marquee{margin-top:12px}
.ms-logo-marquee__track{display:flex;width:max-content;will-change:transform}
.ms-logo-marquee--left .ms-logo-marquee__track{animation:ms-logo-marquee-left 44s linear infinite}
.ms-logo-marquee--right .ms-logo-marquee__track{animation:ms-logo-marquee-right 48s linear infinite}
.ms-logo-marquee:hover .ms-logo-marquee__track{animation-play-state:paused}
.ms-logo-marquee__group{display:flex;flex:none;gap:12px;padding-right:12px}
.ms-client-logo{width:216px;height:104px;display:grid;place-items:center;padding:20px 28px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,opacity .22s ease;overflow:hidden;isolation:isolate}
.ms-client-logo:before{content:"";position:absolute;inset:auto 22px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(244,122,36,.18),transparent);opacity:0;transition:opacity .22s ease}
.ms-client-logo{position:relative}
.ms-client-logo:hover{transform:none;border-color:rgba(244,122,36,.34);background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(244,122,36,.028));box-shadow:0 10px 26px rgba(0,0,0,.16)}
.ms-client-logo:hover:before{opacity:.9}
.ms-site .ms-client-logo img{display:block!important;width:auto!important;height:auto!important;max-width:154px!important;max-height:56px!important;object-fit:contain!important;filter:grayscale(1) brightness(0) invert(1);opacity:.55;transition:opacity .22s ease;mix-blend-mode:normal}
.ms-client-logo:hover img{opacity:.82;transform:none}
.ms-home-clients__meta{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:19px;color:#6f797d;font-size:.5rem;font-weight:800;letter-spacing:.13em}
.ms-home-clients__meta i{width:3px;height:3px;border-radius:50%;background:var(--ms-accent)}
.ms-home-clients__empty{position:relative;z-index:2;padding:28px;border:1px dashed rgba(244,122,36,.45);border-radius:12px;color:#aeb8bd;background:rgba(244,122,36,.035)}
@keyframes ms-logo-marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ms-logo-marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Authority */
.ms-home-v5 .ms-home-authority{background:linear-gradient(135deg,#24292a,#1d2223)}.ms-home-v5 .ms-authority__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:66px;align-items:center}.ms-home-v5 .ms-authority__visual{position:relative;min-height:330px;padding:34px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#071722;justify-content:center;overflow:hidden}.ms-home-v5 .ms-authority__visual:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-60px;top:-60px}.ms-home-v5 .ms-authority__visual span{position:relative;z-index:2;font-size:clamp(2.15rem,3.8vw,4.25rem);font-weight:900}.ms-home-v5 .ms-authority h2{max-width:720px;margin:14px 0 24px;font-size:clamp(2.75rem,3.9vw,4.5rem);line-height:.93}.ms-home-v5 .ms-authority p:not(.ms-eyebrow){max-width:720px;color:#c0c8cb;font-size:.94rem;line-height:1.66}.ms-home-v5 .ms-authority .ms-actions{margin-top:28px}

/* FAQ */
.ms-home-v5 .ms-faq{background:#0a0d0e}.ms-home-v5 .ms-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:66px}.ms-home-v5 .ms-faq h2{max-width:560px;font-size:clamp(2.75rem,3.9vw,4.45rem);line-height:.93}.ms-home-v5 .ms-accordion details{border-color:rgba(255,255,255,.13)}.ms-home-v5 .ms-accordion summary{padding:22px 0;font-size:.96rem;line-height:1.3}.ms-home-v5 .ms-accordion details>div{padding:0 52px 24px 0}.ms-home-v5 .ms-accordion p{margin:0;color:#aeb8bd;font-size:.82rem;line-height:1.62}

/* Lead capture and direct contacts */
.ms-home-v5 .ms-lead-section{background:#101516;color:var(--ms-text)}.ms-home-v5 .ms-lead-section:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--ms-accent)}.ms-home-v5 .ms-lead-section__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:start}.ms-home-v5 .ms-lead-section__copy h2{max-width:610px;margin:14px 0 24px;font-size:clamp(2.8rem,4vw,4.65rem);line-height:.93}.ms-home-v5 .ms-lead-section__copy>p:not(.ms-eyebrow){max-width:570px;margin:0;color:#b7c1c6;font-size:.92rem;line-height:1.63}.ms-home-v5 .ms-lead-section__micro{margin-top:34px;gap:8px;color:#8f9a9f;font-size:.56rem}.ms-lead-section__contacts{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.13);border-radius:12px;overflow:hidden}.ms-lead-section__contacts a{position:relative;min-width:0;padding:16px 42px 16px 16px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.018)}.ms-lead-section__contacts a:last-child{border-right:0}.ms-lead-section__contacts span{font-size:.5rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-accent)}.ms-lead-section__contacts strong{margin-top:4px;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;line-height:1.2;white-space:nowrap}.ms-lead-section__contacts i{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--ms-accent)}.ms-lead-section__contacts a:hover{background:rgba(244,122,36,.08)}
.ms-home-v5 .ms-lead-form{padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:#0a0f11;box-shadow:0 28px 80px rgba(0,0,0,.28)}.ms-home-v5 .ms-form-grid{gap:14px}.ms-home-v5 .ms-form-grid input,.ms-home-v5 .ms-form-grid select,.ms-home-v5 .ms-form-grid textarea{border-radius:6px;background:#14191b}.ms-home-v5 .ms-button--submit{border-radius:6px}

/* Footer */
.ms-home-v5 .ms-footer{padding:96px 0 24px;background:#080b0d}.ms-home-v5 .ms-footer__headline{grid-template-columns:150px minmax(0,1fr) auto;gap:40px;padding-bottom:76px}.ms-home-v5 .ms-footer__headline h2{max-width:780px;font-size:clamp(2.75rem,4.05vw,4.7rem);line-height:.93}.ms-home-v5 .ms-footer__grid{grid-template-columns:1.45fr repeat(3,1fr);gap:48px;padding:54px 0}.ms-home-v5 .ms-footer__grid p,.ms-home-v5 .ms-footer__grid a{font-size:.86rem;line-height:1.55}.ms-home-v5 .ms-footer__grid>div:last-child a{font-size:.96rem;color:#d6dad8}.ms-home-v5 .ms-footer__bottom{font-size:.62rem}

/* Laptop widths and short screens */
@media (min-width:901px) and (max-width:1240px){
  .ms-v54-hero__stage{inset-left:28px;inset-right:28px;grid-template-columns:315px minmax(300px,1fr) 270px;gap:14px}
  .ms-v5-hero__left-stack{width:315px}.ms-v5-hero__right-stack{width:270px}
  .ms-v5-panel--manifesto{padding:21px 22px 20px}.ms-v5-panel--manifesto h1{font-size:2rem}.ms-v5-panel__summary{font-size:.7rem}
  .ms-v5-panel--services,.ms-v5-region{width:92%;margin-left:10px}
  .ms-v5-panel--education,.ms-v5-panel--skills{padding-left:17px;padding-right:17px}.ms-v5-education-row strong{font-size:.71rem}.ms-v5-panel--skills li strong{font-size:.61rem}
  .ms-v5-panel--lead strong{font-size:.82rem}.ms-v6-hero-signal{right:-38px;top:59%;width:166px}
  .ms-v5-hero__contact{width:min(680px,58vw)}
}
@media (min-width:901px) and (max-height:820px){
  .ms-home-v5 .ms-home-hero{height:100svh;min-height:700px}
  .ms-v54-hero__stage{inset-top:calc(var(--ms-header) + 12px);bottom:68px}
  .ms-v5-panel--manifesto{padding:19px 21px 18px}.ms-v5-panel--manifesto h1{font-size:clamp(1.85rem,2.05vw,2.3rem);margin-bottom:9px}.ms-v5-panel__summary{font-size:.68rem;line-height:1.42}.ms-v5-panel__actions{margin-top:12px}
  .ms-v5-panel--services{padding-top:12px;padding-bottom:11px}.ms-v5-panel--services>a{min-height:25px}
  .ms-v5-panel--education{padding-top:15px;padding-bottom:13px}.ms-v5-education-row{padding:7px 0}
  .ms-v5-panel--skills{padding-top:14px;padding-bottom:12px}.ms-v5-panel--skills li{min-height:25px}
  .ms-v5-panel--lead{min-height:98px;padding-top:13px;padding-bottom:12px}
  .ms-v5-region{padding-top:8px;padding-bottom:8px}
  .ms-v6-hero-signal{right:-56px;top:59%;width:184px}
}

/* Tablet and mobile poster */
@media (max-width:900px){
  .ms-home-v5 .ms-container{width:calc(100vw - 36px)}
  .ms-home-v5 .ms-header{height:82px}.ms-home-v5 .ms-header__inner{width:calc(100vw - 28px)}.ms-home-v5 .ms-header__contact{display:none}.ms-home-v5 .ms-dot-menu{width:52px;height:52px;min-width:52px;min-height:52px}.ms-home-v5 .ms-brand strong{font-size:1.08rem}.ms-home-v5 .ms-brand small{font-size:.55rem}
  .ms-home-v5 .ms-home-hero{height:980px;min-height:980px;max-height:none}
  .ms-v5-hero__grid{background-size:104px 104px;opacity:.08}.ms-v5-hero__wordmark{top:125px;font-size:23vw;line-height:.7}.ms-v5-hero__halo{top:39%;width:108vw}
  .ms-v54-hero__stage{display:block;inset:82px 0 0}
  .ms-v54-hero__center{position:absolute;inset:0;z-index:3}.ms-v5-hero__portrait{top:54px;bottom:auto;height:58%;left:50%;transform:translateX(-50%)}.ms-v5-hero__shadow{bottom:1.5%;width:58%}
  .ms-v5-hero__left-stack,.ms-v5-hero__right-stack{display:contents}
  .ms-v5-panel{position:absolute;border-radius:11px;box-shadow:0 18px 50px rgba(0,0,0,.3);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
  .ms-v5-panel:hover{transform:none}
  .ms-v5-panel--manifesto{z-index:12;left:12px;right:12px;bottom:112px;width:auto;padding:19px 20px 18px}.ms-v5-panel--manifesto h1{max-width:96%;font-size:clamp(2rem,7.6vw,3rem);line-height:.92;margin-bottom:10px}.ms-v5-panel__summary{max-width:94%;font-size:.72rem;line-height:1.45}.ms-v5-panel__actions{grid-template-columns:1.2fr .8fr;margin-top:13px}
  .ms-v5-panel--services{z-index:8;left:6px;top:250px;width:clamp(126px,33vw,148px);margin:0;padding:12px 11px 10px;transform:rotate(-.5deg)}.ms-v5-panel--services .ms-card-kicker{font-size:.47rem;margin-bottom:7px}.ms-v5-panel--services>a{grid-template-columns:18px 1fr;min-height:26px;gap:2px}.ms-v5-panel--services>a span{font-size:.43rem}.ms-v5-panel--services>a strong{font-size:.56rem}.ms-v5-panel--services>a i{display:none}
  .ms-v5-panel--education{z-index:8;right:6px;top:218px;width:clamp(137px,36vw,160px);padding:12px 11px 10px;transform:rotate(.45deg)}.ms-v5-panel--education .ms-card-kicker{font-size:.47rem;margin-bottom:6px}.ms-v5-education-row{grid-template-columns:1fr;padding:7px 0}.ms-v5-education-row .ms-v5-icon{display:none}.ms-v5-education-row strong{font-size:.59rem}.ms-v5-education-row small{font-size:.48rem}
  .ms-v5-panel--skills{z-index:8;right:6px;top:400px;width:clamp(137px,36vw,160px);padding:12px 11px 10px;transform:rotate(-.45deg)}.ms-v5-panel--skills .ms-card-kicker{font-size:.47rem;margin-bottom:6px}.ms-v5-panel--skills li{grid-template-columns:18px 1fr;min-height:25px;gap:2px}.ms-v5-panel--skills li span{font-size:.41rem}.ms-v5-panel--skills li strong{font-size:.53rem}
  .ms-v5-panel--lead{display:none}
  .ms-v5-region{position:absolute;z-index:8;left:6px;top:477px;width:clamp(135px,35vw,156px);margin:0;padding:9px 9px;grid-template-columns:25px 1fr;gap:6px;transform:rotate(.4deg)}.ms-v5-region__pin{width:24px;height:24px;font-size:.68rem}.ms-v5-region strong{font-size:.55rem}.ms-v5-region small{font-size:.46rem}.ms-v5-region i{display:none}
  .ms-v6-hero-signal{display:none}
  .ms-v5-hero__contact{left:10px;right:10px;bottom:10px;transform:none;width:auto;grid-template-columns:1fr 1fr}.ms-v5-hero__contact>a,.ms-v5-hero__contact>div{padding:10px 11px}.ms-v5-hero__contact>div{grid-column:1/-1;border-right:0;border-top:1px solid rgba(255,255,255,.11)}.ms-v5-hero__contact>a:nth-child(2){border-right:0}.ms-v5-hero__contact span{font-size:.44rem}.ms-v5-hero__contact strong{font-size:.64rem}

  .ms-home-v5 .ms-home-intro,.ms-home-v5 .ms-home-regions,.ms-home-v5 .ms-projects-section,.ms-home-v5 .ms-home-clients,.ms-home-v5 .ms-home-authority,.ms-home-v5 .ms-faq,.ms-home-v5 .ms-lead-section{padding:82px 0}
  .ms-home-intro__top{align-items:flex-start;flex-direction:column;gap:7px}.ms-home-intro__statement{grid-template-columns:1fr;gap:25px;padding:37px 0 43px}.ms-home-intro__statement h2{max-width:720px;font-size:clamp(2.55rem,8.2vw,4.2rem)}.ms-home-intro__aside{max-width:650px;margin:0}
  .ms-home-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ms-home-service:nth-child(n){grid-column:span 1;min-height:225px}.ms-home-service:nth-child(5){grid-column:1/-1}
  .ms-home-section-head,.ms-home-clients__heading,.ms-home-v5 .ms-projects-section .ms-section-heading--split{grid-template-columns:1fr;gap:16px}.ms-home-section-head h2,.ms-home-clients__heading h2,.ms-home-v5 .ms-projects-section .ms-section-heading--split h2{max-width:760px;font-size:clamp(2.45rem,8vw,4rem)}.ms-home-clients__heading>p,.ms-home-v5 .ms-projects-section .ms-section-heading--split>p:last-child{grid-column:1}
  .ms-home-clients__stage:before,.ms-home-clients__stage:after{width:64px}.ms-client-logo{width:190px;height:96px;padding:18px 24px}.ms-site .ms-client-logo img{max-width:136px!important;max-height:50px!important}
  .ms-home-regions__grid{grid-template-columns:1fr}.ms-home-region{min-height:410px;padding:29px}.ms-home-region h3{max-width:calc(100% - 185px);font-size:clamp(2rem,5vw,2.7rem)}.ms-home-region>p:not(.ms-eyebrow){max-width:76%}.ms-home-region__map{width:176px;height:176px}
  .ms-home-v5 .ms-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ms-home-v5 .ms-project-card{min-height:355px}.ms-home-v5 .ms-project-card__image{height:220px}
  .ms-home-v5 .ms-authority__grid,.ms-home-v5 .ms-faq__grid,.ms-home-v5 .ms-lead-section__grid{grid-template-columns:1fr;gap:42px}.ms-home-v5 .ms-authority__visual{max-width:620px;min-height:290px}
  .ms-lead-section__contacts{max-width:620px}.ms-home-v5 .ms-footer__headline{grid-template-columns:1fr;align-items:start}.ms-home-v5 .ms-footer__grid{grid-template-columns:1fr 1fr}
}


@media (min-width:621px) and (max-width:900px){
  .ms-home-v5 .ms-home-hero{height:1060px;min-height:1060px}
}

@media (max-width:620px){
  .ms-home-v5 .ms-container{width:calc(100vw - 28px)}
  .ms-home-v5 .ms-home-hero{height:max(840px,100svh);min-height:840px}
  .ms-v5-hero__wordmark{top:146px;font-size:24vw}.ms-v5-hero__portrait{top:70px;height:52%}
  .ms-v5-panel--manifesto{left:9px;right:9px;bottom:9px;padding:17px 17px 16px}.ms-v5-panel--manifesto h1{font-size:clamp(1.85rem,8.15vw,2.5rem)}.ms-v5-panel__summary{font-size:.66rem}.ms-home-v5 .ms-hero-primary,.ms-home-v5 .ms-hero-secondary{min-height:39px;padding:8px 9px;font-size:.48rem}
  .ms-v5-panel--services{left:3px;top:245px;width:122px}.ms-v5-panel--education{right:3px;top:190px;width:134px}.ms-v5-panel--education .ms-v5-education-row small{display:none}.ms-v5-panel--skills{right:3px;top:328px;width:134px}.ms-v5-panel--skills li{min-height:23px}.ms-v5-region{left:3px;top:430px;width:132px}
  .ms-v5-hero__contact{left:9px;right:9px;top:92px;bottom:auto;grid-template-columns:1fr 1fr}.ms-v5-hero__contact>div{display:none}.ms-v5-hero__contact>a{padding:9px 10px}.ms-v5-hero__contact span{font-size:.42rem}.ms-v5-hero__contact strong{font-size:.61rem}
  .ms-home-v5 .ms-home-intro,.ms-home-v5 .ms-home-regions,.ms-home-v5 .ms-projects-section,.ms-home-v5 .ms-home-clients,.ms-home-v5 .ms-home-authority,.ms-home-v5 .ms-faq,.ms-home-v5 .ms-lead-section{padding:66px 0}
  .ms-home-intro__statement h2,.ms-home-section-head h2,.ms-home-clients__heading h2,.ms-home-v5 .ms-projects-section .ms-section-heading--split h2{font-size:clamp(2.2rem,10.5vw,3.2rem);line-height:.94}.ms-home-intro__aside p{font-size:.83rem}
  .ms-home-clients__heading{margin-bottom:32px}.ms-home-clients__stage{margin-left:-14px;margin-right:-14px;padding:13px 0}.ms-home-clients__stage:before,.ms-home-clients__stage:after{width:54px}.ms-logo-marquee+.ms-logo-marquee{margin-top:9px}.ms-logo-marquee__group{gap:9px;padding-right:9px}.ms-client-logo{width:154px;height:82px;padding:15px 20px;border-radius:9px}.ms-site .ms-client-logo img{max-width:112px!important;max-height:42px!important}.ms-home-clients__meta{gap:8px;font-size:.42rem;letter-spacing:.08em;white-space:nowrap}
  .ms-home-services{grid-template-columns:1fr}.ms-home-service:nth-child(n){grid-column:1;min-height:210px;padding:20px}.ms-home-service h3{margin-top:45px;font-size:1.72rem}
  .ms-home-region{min-height:474px;padding:23px}.ms-home-region h3{max-width:100%;margin-top:120px;font-size:clamp(1.8rem,8.4vw,2.45rem)}.ms-home-region>p:not(.ms-eyebrow){max-width:100%}.ms-home-region__map{right:16px;top:16px;width:136px;height:136px}.ms-site .ms-home-region__map img{width:44%!important;height:84%!important;max-width:none!important;max-height:none!important}.ms-home-region__cities{max-width:100%}
  .ms-home-v5 .ms-project-grid{grid-template-columns:1fr}.ms-home-v5 .ms-project-card{min-height:335px}.ms-home-v5 .ms-project-card__image{height:205px}
  .ms-home-v5 .ms-authority__visual{min-height:235px;padding:24px}.ms-home-v5 .ms-authority h2,.ms-home-v5 .ms-faq h2,.ms-home-v5 .ms-lead-section__copy h2{font-size:clamp(2.2rem,9.8vw,3.2rem)}
  .ms-lead-section__contacts{grid-template-columns:1fr}.ms-lead-section__contacts a{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}.ms-lead-section__contacts a:last-child{border-bottom:0}.ms-home-v5 .ms-lead-form{padding:20px 15px}
  .ms-home-v5 .ms-footer{padding-top:72px}.ms-home-v5 .ms-footer__headline{padding-bottom:56px}.ms-home-v5 .ms-footer__grid{grid-template-columns:1fr;gap:34px}.ms-home-v5 .ms-footer__bottom{flex-direction:column}
}

@media (max-width:370px){
  .ms-home-v5 .ms-home-hero{height:max(820px,100svh);min-height:820px}
  .ms-v5-hero__portrait{height:50%;top:72px}.ms-v5-panel--manifesto{bottom:8px}.ms-v5-panel__summary{font-size:.62rem}.ms-v5-panel--services{width:116px}.ms-v5-panel--education,.ms-v5-panel--skills{width:127px}.ms-v5-region{width:125px}.ms-v5-region small{display:none}.ms-v5-hero__contact{top:90px}
}

@media (prefers-reduced-motion:reduce){
  .ms-v6-hero-signal:before,.ms-v6-hero-signal__ring,.ms-v6-hero-signal__sweep,.ms-v6-hero-signal__node,.ms-v6-hero-signal__core,.ms-v6-hero-signal__pointer{animation:none!important}.ms-v5-panel,.ms-home-service,.ms-project-card,.ms-client-logo{transition:none}
  .ms-logo-marquee{overflow:visible}.ms-logo-marquee__track{width:auto;animation:none!important;transform:none!important}.ms-logo-marquee__group{flex-wrap:wrap}.ms-logo-marquee__group--duplicate{display:none}.ms-home-clients__stage:before,.ms-home-clients__stage:after{display:none}
}

/* =========================================================
   V5.4.3 — COMPLETE REGIONAL MAP DISPLAY
   Prevents theme/Elementor hover colours (including #336)
   from leaking into the plugin interface.
   ========================================================= */
.ms-site{--ms-hover-surface:rgba(244,122,36,.08);--ms-focus-ring:rgba(244,122,36,.7)}
body.mslp-active .ms-site a:hover,body.mslp-active .ms-site a:focus{color:inherit!important}
body.mslp-active .ms-site :where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--ms-focus-ring)!important;outline-offset:4px;box-shadow:none}
body.mslp-active .ms-site :where(input,select,textarea):focus{border-color:rgba(244,122,36,.72)!important;box-shadow:0 0 0 3px rgba(244,122,36,.12)!important}
.ms-site .ms-button:hover,.ms-site .ms-button:focus-visible{color:var(--ms-accent)!important;background:transparent!important;border-color:var(--ms-accent)!important}
.ms-site .ms-text-link:hover,.ms-site .ms-header__contact:hover,.ms-site .ms-footer__grid a:hover,.ms-site .ms-overlay-menu nav a:hover,.ms-site .ms-overlay-menu__regions a:hover{color:var(--ms-accent)!important}
.ms-site .ms-overlay-menu__regions a:hover{padding-left:12px;background:linear-gradient(90deg,rgba(244,122,36,.08),transparent);border-color:rgba(244,122,36,.42)}
.ms-site .ms-home-v5 .ms-hero-primary:hover,.ms-site .ms-home-v5 .ms-hero-primary:focus-visible{color:#0a0e10!important;background:#ff8d3d!important;border-color:#ff8d3d!important;box-shadow:0 13px 30px rgba(244,122,36,.22)!important;transform:translateY(-2px)!important}
.ms-site .ms-home-v5 .ms-hero-secondary:hover,.ms-site .ms-home-v5 .ms-hero-secondary:focus-visible{color:var(--ms-accent)!important;background:rgba(244,122,36,.06)!important;border-color:var(--ms-accent)!important}
.ms-site .ms-v5-panel--services>a:hover,.ms-site .ms-v5-panel--services>a:focus-visible,.ms-site .ms-v5-region:hover,.ms-site .ms-v5-region:focus-visible,.ms-site .ms-v5-panel--lead:hover,.ms-site .ms-v5-panel--lead:focus-visible,.ms-site .ms-home-service>a:hover,.ms-site .ms-project-card:hover,.ms-site .ms-project-card:focus-visible{color:var(--ms-text)!important}
.ms-site .ms-v5-panel--services>a:hover strong,.ms-site .ms-v5-panel--services>a:hover i,.ms-site .ms-v5-panel--services>a:focus-visible strong,.ms-site .ms-v5-panel--services>a:focus-visible i{color:var(--ms-accent)!important}
.ms-site .ms-v5-region:hover,.ms-site .ms-v5-region:focus-visible{background:rgba(244,122,36,.065)!important;border-color:rgba(244,122,36,.72)!important}
.ms-site .ms-v5-panel--lead:hover,.ms-site .ms-v5-panel--lead:focus-visible{background:linear-gradient(145deg,rgba(20,24,25,.97),rgba(9,12,14,.92))!important;border-color:rgba(244,122,36,.72)!important}
.ms-site .ms-home-service:hover>a,.ms-site .ms-home-service:focus-within>a{color:#f4f1ea!important}
.ms-site .ms-home-region>a:hover,.ms-site .ms-home-region>a:focus-visible{color:var(--ms-region-accent)!important}
.ms-site .ms-service-card:hover a,.ms-site .ms-service-card:focus-within a,.ms-site .ms-service-links a:hover,.ms-site .ms-service-links a:focus-visible{color:#090a09!important}
.ms-site .ms-lead-section__contacts a:hover,.ms-site .ms-lead-section__contacts a:focus-visible{color:var(--ms-text)!important;background:rgba(244,122,36,.08)!important}
.ms-site .ms-lead-section__contacts a:hover strong,.ms-site .ms-lead-section__contacts a:focus-visible strong{color:#fff!important}
.ms-site .ms-home-region--beira>a:hover,.ms-site .ms-home-region--beira>a:focus-visible{color:#5BC7F2!important}



/* V5.4.3 — Keep the complete Portugal map visible even when Elementor or the theme
   loads a later global `img { height:auto; }` declaration. The image gets a fixed
   responsive box inside the circle and `object-fit: contain` renders the full map. */
.ms-site .ms-home-region__map > img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  display:block!important;
  width:44%!important;
  height:86%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%);
}
.ms-site .ms-home-region:hover .ms-home-region__map > img{
  transform:translate(-50%,-50%) scale(1.025);
}
.ms-site .ms-region-hero__map > img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  display:block!important;
  width:42%!important;
  height:84%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%);
}
@media (max-width:600px){
  .ms-site .ms-home-region__map > img{
    width:44%!important;
    height:82%!important;
  }
}

/* =========================================================
   V5.5.3 — LEAD FORM + MENU CONTROL
   Polished form system and isolated orange/dark menu states.
   ========================================================= */

/* Header menu button: prevent theme/Elementor hover colours from leaking in. */
body.mslp-active .ms-site .ms-dot-menu{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  padding:0!important;
  border:1px solid rgba(244,122,36,.72)!important;
  border-radius:18px!important;
  background:rgba(12,17,19,.96)!important;
  color:var(--ms-accent)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.02)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  overflow:hidden!important;
  transform:none!important;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}
body.mslp-active .ms-site .ms-dot-menu span:not(.screen-reader-text){
  position:absolute!important;
  left:50%!important;
  display:block!important;
  width:20px!important;
  height:2px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--ms-accent)!important;
  opacity:1!important;
  transform:translateX(-50%)!important;
  transform-origin:center!important;
  transition:top .22s ease,transform .22s ease,opacity .18s ease,background .22s ease!important;
}
body.mslp-active .ms-site .ms-dot-menu span:nth-child(1){top:20px!important}
body.mslp-active .ms-site .ms-dot-menu span:nth-child(2){top:27px!important}
body.mslp-active .ms-site .ms-dot-menu span:nth-child(3){top:34px!important}
body.mslp-active .ms-site .ms-dot-menu:hover,
body.mslp-active .ms-site .ms-dot-menu:focus-visible{
  border-color:var(--ms-accent)!important;
  background:rgba(244,122,36,.11)!important;
  color:var(--ms-accent)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 0 4px rgba(244,122,36,.09)!important;
  transform:translateY(-2px)!important;
}
body.mslp-active .ms-site .ms-dot-menu[aria-expanded="true"]{
  border-color:var(--ms-accent)!important;
  background:var(--ms-accent)!important;
  color:#091014!important;
  transform:none!important;
}
body.mslp-active .ms-site .ms-dot-menu[aria-expanded="true"] span:not(.screen-reader-text){
  top:27px!important;
  background:#091014!important;
}
body.mslp-active .ms-site .ms-dot-menu[aria-expanded="true"] span:nth-child(1){transform:translateX(-50%) rotate(45deg)!important}
body.mslp-active .ms-site .ms-dot-menu[aria-expanded="true"] span:nth-child(2){opacity:0!important;transform:translateX(-50%) scaleX(.2)!important}
body.mslp-active .ms-site .ms-dot-menu[aria-expanded="true"] span:nth-child(3){transform:translateX(-50%) rotate(-45deg)!important}

/* Lead section layout and copy hierarchy. */
.ms-site .ms-lead-section{
  isolation:isolate;
  overflow:hidden;
}
.ms-home-v5 .ms-lead-section{
  background:
    radial-gradient(circle at 79% 16%,rgba(244,122,36,.075),transparent 30%),
    linear-gradient(145deg,#111718 0%,#0c1113 54%,#0a0e10 100%)!important;
}
.ms-home-v5 .ms-lead-section:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-10vw;
  bottom:-28vw;
  width:52vw;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.045);
  border-radius:50%;
  pointer-events:none;
}
.ms-home-v5 .ms-lead-section .ms-eyebrow{
  color:var(--ms-accent)!important;
}
.ms-home-v5 .ms-lead-section__grid{
  grid-template-columns:minmax(0,.8fr) minmax(620px,1.2fr);
  gap:clamp(54px,5vw,86px);
}
.ms-home-v5 .ms-lead-section__copy{
  padding-top:8px;
}
.ms-home-v5 .ms-lead-section__copy h2{
  max-width:600px;
  margin-bottom:26px;
}
.ms-home-v5 .ms-lead-section__micro{
  padding-left:0;
}
.ms-home-v5 .ms-lead-section__micro span{
  display:flex;
  align-items:center;
  gap:10px;
}
.ms-home-v5 .ms-lead-section__micro span:before{
  content:"";
  width:18px;
  height:1px;
  background:rgba(244,122,36,.72);
}

/* Direct contact cards beside the form. */
.ms-site .ms-lead-section__contacts{
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.018)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.13);
}
.ms-site .ms-lead-section__contacts a{
  min-height:72px;
  justify-content:center;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.ms-site .ms-lead-section__contacts a:hover,
.ms-site .ms-lead-section__contacts a:focus-visible{
  color:var(--ms-text)!important;
  background:rgba(244,122,36,.075)!important;
  border-color:rgba(244,122,36,.36)!important;
  transform:none!important;
}
.ms-site .ms-lead-section__contacts a:hover i,
.ms-site .ms-lead-section__contacts a:focus-visible i{
  transform:translate(2px,-50%);
}
.ms-site .ms-lead-section__contacts i{
  transition:transform .2s ease;
}

/* Premium lead form card. */
body.mslp-active .ms-site .ms-lead-form{
  position:relative;
  padding:30px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%),
    #090e10!important;
  color:var(--ms-text)!important;
  box-shadow:0 32px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.025)!important;
  overflow:hidden;
}
body.mslp-active .ms-site .ms-lead-form:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--ms-accent),rgba(244,122,36,.08) 58%,transparent);
}
.ms-lead-form__header{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:24px;
  margin:-2px 0 25px;
  padding-bottom:21px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.ms-lead-form__header>div{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.ms-lead-form__eyebrow{
  color:var(--ms-accent);
  font-size:.54rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ms-lead-form__header strong{
  color:#f5f2ec;
  font-size:1.12rem;
  line-height:1.15;
  letter-spacing:-.025em;
}
body.mslp-active .ms-site .ms-form-grid{
  gap:15px!important;
}
body.mslp-active .ms-site .ms-form-grid>label{
  gap:8px!important;
  min-width:0;
}
body.mslp-active .ms-site .ms-form-grid label>span{
  color:#c6ced1!important;
  font-size:.58rem!important;
  font-weight:850!important;
  letter-spacing:.11em!important;
}
body.mslp-active .ms-site .ms-form-grid input,
body.mslp-active .ms-site .ms-form-grid select,
body.mslp-active .ms-site .ms-form-grid textarea{
  width:100%!important;
  min-height:52px!important;
  padding:13px 15px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:9px!important;
  background-color:#12181a!important;
  color:#f6f3ee!important;
  caret-color:var(--ms-accent)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
  outline:0!important;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease!important;
}
body.mslp-active .ms-site .ms-form-grid input:hover,
body.mslp-active .ms-site .ms-form-grid select:hover,
body.mslp-active .ms-site .ms-form-grid textarea:hover{
  border-color:rgba(255,255,255,.27)!important;
  background-color:#141b1d!important;
}
body.mslp-active .ms-site .ms-form-grid input:focus,
body.mslp-active .ms-site .ms-form-grid select:focus,
body.mslp-active .ms-site .ms-form-grid textarea:focus{
  border-color:rgba(244,122,36,.82)!important;
  background-color:#111719!important;
  box-shadow:0 0 0 3px rgba(244,122,36,.11)!important;
}
body.mslp-active .ms-site .ms-form-grid input::placeholder,
body.mslp-active .ms-site .ms-form-grid textarea::placeholder{
  color:#6f7a80!important;
  opacity:1!important;
}
body.mslp-active .ms-site .ms-form-grid select{
  padding-right:44px!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23F47A24' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 15px center!important;
}
body.mslp-active .ms-site .ms-form-grid select option{
  background:#12181a!important;
  color:#f5f2ec!important;
}
body.mslp-active .ms-site .ms-form-grid textarea{
  min-height:126px!important;
  line-height:1.5;
  resize:vertical;
}
.ms-lead-form__footer{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:20px;
}
body.mslp-active .ms-site .ms-consent{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0!important;
  color:#aeb8bd!important;
  font-size:.72rem!important;
  line-height:1.45!important;
}
body.mslp-active .ms-site .ms-consent input{
  flex:0 0 auto;
  width:18px!important;
  height:18px!important;
  margin:1px 0 0!important;
  border:1px solid rgba(255,255,255,.3)!important;
  border-radius:4px!important;
  accent-color:var(--ms-accent)!important;
}
body.mslp-active .ms-site .ms-consent a,
body.mslp-active .ms-site .ms-consent a:hover,
body.mslp-active .ms-site .ms-consent a:focus-visible{
  color:#f0f1ed!important;
  text-decoration-color:rgba(244,122,36,.7)!important;
  text-underline-offset:3px;
}
body.mslp-active .ms-site .ms-button--submit{
  position:relative!important;
  display:flex!important;
  width:100%!important;
  min-height:58px!important;
  padding:14px 16px 14px 20px!important;
  border:1px solid var(--ms-accent)!important;
  border-radius:10px!important;
  background:var(--ms-accent)!important;
  color:#0a0e10!important;
  box-shadow:0 15px 34px rgba(244,122,36,.13)!important;
  transform:none!important;
  opacity:1!important;
  cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
body.mslp-active .ms-site .ms-button--submit span{
  color:#0a0e10!important;
  font-size:.65rem!important;
  font-weight:950!important;
  letter-spacing:.11em!important;
}
body.mslp-active .ms-site .ms-button--submit i{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:50%;
  background:rgba(9,14,16,.12);
  color:#0a0e10!important;
  font-style:normal;
  font-size:.9rem;
  transition:transform .2s ease,background .2s ease;
}
body.mslp-active .ms-site .ms-button--submit:hover,
body.mslp-active .ms-site .ms-button--submit:focus-visible{
  border-color:#ff8d3d!important;
  background:#ff8d3d!important;
  color:#0a0e10!important;
  box-shadow:0 18px 42px rgba(244,122,36,.22)!important;
  transform:translateY(-2px)!important;
}
body.mslp-active .ms-site .ms-button--submit:hover i,
body.mslp-active .ms-site .ms-button--submit:focus-visible i{
  background:rgba(9,14,16,.18);
  transform:translate(2px,-2px);
}
body.mslp-active .ms-site .ms-button--submit:disabled{
  cursor:wait!important;
  opacity:.62!important;
  transform:none!important;
}
body.mslp-active .ms-site .ms-form-status{
  min-height:18px!important;
  margin:0!important;
  color:#aeb8bd!important;
  font-size:.72rem!important;
}
body.mslp-active .ms-site .ms-form-status.is-success{color:#8ed6a3!important}
body.mslp-active .ms-site .ms-form-status.is-error{color:#ff9e9e!important}

/* Standalone contact page inherits the same premium form treatment. */
.ms-page-contact .ms-contact-hero__grid{
  gap:clamp(52px,6vw,92px);
}
.ms-page-contact .ms-contact-links>a,
.ms-page-contact .ms-contact-links>div{
  transition:background .2s ease,padding .2s ease,border-color .2s ease;
}
.ms-page-contact .ms-contact-links>a:hover,
.ms-page-contact .ms-contact-links>a:focus-visible{
  padding-left:14px;
  border-color:rgba(244,122,36,.5);
  background:linear-gradient(90deg,rgba(244,122,36,.07),transparent);
  color:#fff!important;
}

@media (max-width:1100px){
  .ms-home-v5 .ms-lead-section__grid{grid-template-columns:1fr;gap:44px}
  .ms-home-v5 .ms-lead-section__copy{max-width:720px}
  .ms-home-v5 .ms-lead-form{max-width:820px}
}
@media (max-width:620px){
  body.mslp-active .ms-site .ms-dot-menu{
    width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;border-radius:16px!important
  }
  body.mslp-active .ms-site .ms-dot-menu span:nth-child(1){top:18px!important}
  body.mslp-active .ms-site .ms-dot-menu span:nth-child(2){top:25px!important}
  body.mslp-active .ms-site .ms-dot-menu span:nth-child(3){top:32px!important}
  body.mslp-active .ms-site .ms-dot-menu[aria-expanded="true"] span:not(.screen-reader-text){top:25px!important}
  body.mslp-active .ms-site .ms-lead-form{padding:22px 16px!important;border-radius:14px!important}
  .ms-lead-form__header{gap:14px;margin-bottom:20px;padding-bottom:17px}
  .ms-lead-form__header strong{font-size:1rem}
  body.mslp-active .ms-site .ms-form-grid{grid-template-columns:1fr!important;gap:13px!important}
  body.mslp-active .ms-site .ms-form-wide{grid-column:1!important}
  body.mslp-active .ms-site .ms-form-grid input,
  body.mslp-active .ms-site .ms-form-grid select{min-height:50px!important}
  body.mslp-active .ms-site .ms-form-grid textarea{min-height:118px!important}
  body.mslp-active .ms-site .ms-button--submit{min-height:55px!important}
}
/* =========================================================
   V5.5.4 — VIEWPORT-LOCKED FULLSCREEN MENU
   Keeps the navigation independent from the page scroll and
   scales the complete menu to the available screen height.
   ========================================================= */
body.mslp-active.ms-menu-open{
  overflow:hidden!important;
}
body.mslp-active .ms-site .ms-header{
  isolation:isolate;
  overflow:visible!important;
}
body.mslp-active .ms-site .ms-header__inner{
  position:relative;
  z-index:4;
}
body.mslp-active .ms-site .ms-overlay-menu[hidden]{
  display:none!important;
}
body.mslp-active .ms-site .ms-overlay-menu{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  z-index:2!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  color:var(--ms-text)!important;
  background:
    radial-gradient(circle at 72% 34%,rgba(244,122,36,.045),transparent 27%),
    radial-gradient(circle at 18% 78%,rgba(91,199,242,.035),transparent 24%),
    linear-gradient(118deg,#080b0d 0%,#090d0f 58%,#071018 100%)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.mslp-active .ms-site .ms-overlay-menu:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:150px 150px;
  mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 20%,rgba(0,0,0,.7) 80%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 20%,rgba(0,0,0,.7) 80%,transparent);
}
body.mslp-active .ms-site .ms-overlay-menu__inner{
  position:relative;
  z-index:1;
  width:min(1320px,calc(100vw - 72px))!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:calc(var(--ms-header) + 24px) 0 26px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(230px,300px)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  column-gap:clamp(42px,6vw,94px)!important;
  row-gap:14px!important;
  overflow:hidden!important;
}
body.mslp-active.admin-bar .ms-site .ms-overlay-menu__inner{
  padding-top:calc(var(--ms-header) + 48px)!important;
}
body.mslp-active .ms-site .ms-overlay-menu__inner>.ms-eyebrow{
  grid-column:1/-1!important;
  margin:0!important;
  align-self:end;
  color:var(--ms-accent)!important;
}
body.mslp-active .ms-site .ms-overlay-menu nav{
  min-width:0;
  min-height:0;
  padding:2px 20px 2px 0;
  display:grid!important;
  grid-auto-rows:min-content;
  align-content:start;
  gap:0!important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(244,122,36,.48) transparent;
}
body.mslp-active .ms-site .ms-overlay-menu nav::-webkit-scrollbar{width:5px}
body.mslp-active .ms-site .ms-overlay-menu nav::-webkit-scrollbar-track{background:transparent}
body.mslp-active .ms-site .ms-overlay-menu nav::-webkit-scrollbar-thumb{background:rgba(244,122,36,.48);border-radius:20px}
body.mslp-active .ms-site .ms-overlay-menu nav a{
  display:block!important;
  width:max-content;
  max-width:100%;
  margin:0!important;
  padding:.015em 0!important;
  font-size:clamp(2.15rem,min(3.35vw,5.45vh),4.15rem)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  white-space:nowrap;
  color:#ecece7!important;
  text-wrap:balance;
}
body.mslp-active .ms-site .ms-overlay-menu nav a:hover,
body.mslp-active .ms-site .ms-overlay-menu nav a:focus-visible{
  color:var(--ms-accent)!important;
  transform:translateX(8px)!important;
}
body.mslp-active .ms-site .ms-overlay-menu__regions{
  min-width:0;
  align-self:start!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding-top:4px;
}
body.mslp-active .ms-site .ms-overlay-menu__regions a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:58px;
  padding:15px 0!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  font-size:.92rem;
  line-height:1.25;
  color:#e8e9e5!important;
}
body.mslp-active .ms-site .ms-overlay-menu__regions a:hover,
body.mslp-active .ms-site .ms-overlay-menu__regions a:focus-visible{
  padding-left:12px!important;
  padding-right:10px!important;
  color:var(--ms-accent)!important;
  background:linear-gradient(90deg,rgba(244,122,36,.085),transparent)!important;
  border-color:rgba(244,122,36,.42)!important;
}
body.mslp-active .ms-site .ms-overlay-menu__contact{
  grid-column:1/-1!important;
  min-width:0;
  margin:0!important;
  padding:18px 0 0!important;
  display:flex!important;
  align-items:center;
  gap:clamp(22px,4vw,54px)!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  font-size:.78rem;
  line-height:1.2;
  color:#aeb8bd!important;
}
body.mslp-active .ms-site .ms-overlay-menu__contact a{
  color:#c9cfcc!important;
}
body.mslp-active .ms-site .ms-overlay-menu__contact a:hover,
body.mslp-active .ms-site .ms-overlay-menu__contact a:focus-visible{
  color:var(--ms-accent)!important;
}

/* Short laptop displays: all nine entries remain visible without touching the footer. */
@media (min-width:901px) and (max-height:780px){
  body.mslp-active .ms-site .ms-overlay-menu__inner{
    padding-top:calc(var(--ms-header) + 14px)!important;
    padding-bottom:18px!important;
    row-gap:8px!important;
  }
  body.mslp-active.admin-bar .ms-site .ms-overlay-menu__inner{
    padding-top:calc(var(--ms-header) + 36px)!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu nav a{
    font-size:clamp(1.8rem,min(3vw,4.8vh),3.35rem)!important;
    line-height:.91!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu__regions a{
    min-height:48px;
    padding:11px 0!important;
    font-size:.83rem;
  }
  body.mslp-active .ms-site .ms-overlay-menu__contact{
    padding-top:12px!important;
    font-size:.7rem;
  }
}

@media (max-width:900px){
  body.mslp-active .ms-site .ms-overlay-menu{
    overflow-y:auto!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu__inner{
    width:calc(100vw - 36px)!important;
    height:auto!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    padding:calc(var(--ms-header) + 26px) 0 34px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto auto!important;
    row-gap:20px!important;
    overflow:visible!important;
  }
  body.mslp-active.admin-bar .ms-site .ms-overlay-menu__inner{
    padding-top:calc(var(--ms-header) + 52px)!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu__inner>.ms-eyebrow{
    grid-column:1!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu nav{
    padding:0 8px 0 0;
    overflow:visible;
  }
  body.mslp-active .ms-site .ms-overlay-menu nav a{
    width:auto;
    padding:.045em 0!important;
    font-size:clamp(2rem,9vw,3.65rem)!important;
    line-height:.94!important;
    white-space:normal;
  }
  body.mslp-active .ms-site .ms-overlay-menu__regions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu__regions a{
    min-height:52px;
    padding:12px 0!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu__contact{
    grid-column:1!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:9px!important;
    padding-bottom:8px!important;
  }
}

@media (max-width:520px){
  body.mslp-active .ms-site .ms-overlay-menu__inner{
    width:calc(100vw - 28px)!important;
    padding-top:calc(var(--ms-header) + 20px)!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu nav a{
    font-size:clamp(1.82rem,9.5vw,3rem)!important;
  }
  body.mslp-active .ms-site .ms-overlay-menu__regions{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
}

/* V5.6.0 — structured portfolio cards and case studies */
.ms-site .ms-project-card{position:relative;border-radius:14px;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;background:#0c1b24}.ms-site .ms-project-card:hover{transform:translateY(-5px);border-color:rgba(244,122,36,.58);box-shadow:0 26px 70px rgba(0,0,0,.25)}.ms-site .ms-project-card--featured:before{content:"Projeto destacado";position:absolute;z-index:5;left:18px;top:18px;padding:7px 10px;border:1px solid rgba(244,122,36,.5);border-radius:99px;background:rgba(8,10,11,.84);color:var(--ms-accent);font-size:.54rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(10px)}.ms-site .ms-project-card__image:after{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.03) 42%,rgba(4,8,10,.68) 100%)}.ms-site .ms-project-card__logo{position:absolute!important;z-index:3;left:20px;bottom:18px;display:grid!important;place-items:center;width:auto!important;max-width:180px!important;height:54px!important;padding:10px 13px!important;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(8,11,12,.78);color:inherit!important;font-size:inherit!important;line-height:normal!important;letter-spacing:normal!important;text-align:left!important;backdrop-filter:blur(12px)}.ms-site .ms-project-card__logo img{display:block!important;width:auto!important;max-width:150px!important;height:auto!important;max-height:32px!important;object-fit:contain!important;filter:grayscale(1) brightness(0) invert(1)!important;opacity:.55!important;transform:none!important;transition:opacity .25s ease!important}.ms-site .ms-project-card__status{position:absolute!important;z-index:3;right:18px;top:18px;width:auto!important;padding:7px 10px!important;border:1px solid rgba(91,199,242,.36);border-radius:99px;background:rgba(7,18,25,.84);color:#8edcff!important;font-size:.54rem!important;font-weight:900;line-height:1.2!important;letter-spacing:.09em!important;text-transform:uppercase;text-align:left!important;backdrop-filter:blur(10px)}.ms-site .ms-project-card--featured .ms-project-card__status{top:54px}.ms-site .ms-project-card__body{display:flex;flex-direction:column;padding:25px 27px 28px;min-height:190px}.ms-site .ms-project-card__meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.ms-site .ms-project-card__meta p{margin:0;font-size:.6rem}.ms-site .ms-project-card__meta span{color:#80909a;font-size:.59rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.ms-site .ms-project-card__body h3{margin:14px 48px 13px 0}.ms-site .ms-project-card__summary{display:block;color:#aeb8bd!important;font-size:.82rem!important;line-height:1.45;max-width:90%}.ms-site .ms-project-card__body>i{top:auto;bottom:29px}.ms-site .ms-home-v5 .ms-project-card__body{min-height:155px}.ms-site .ms-home-v5 .ms-project-card__summary{font-size:.67rem!important}.ms-site .ms-home-v5 .ms-project-card__meta span{font-size:.5rem}

.ms-case-study{background:#08151e}.ms-case-hero{position:relative;min-height:760px;padding:calc(var(--ms-header) + 125px) 0 110px;display:flex;align-items:flex-end;border-bottom:1px solid var(--ms-line);overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(244,122,36,.1),transparent 28%),linear-gradient(145deg,#07131c 0%,#0a1b25 58%,#0a1217 100%)}.ms-case-hero:before{content:"CASE STUDY";position:absolute;left:-.03em;top:calc(var(--ms-header) + 60px);font-size:clamp(5rem,15vw,15rem);font-weight:950;line-height:.8;letter-spacing:-.09em;color:rgba(255,255,255,.035);white-space:nowrap}.ms-case-hero:after{content:"";position:absolute;right:8vw;top:22%;width:280px;height:280px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.01)}.ms-case-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.48fr);gap:90px;align-items:end}.ms-case-hero__content h1{margin:16px 0 26px;font-size:clamp(4.6rem,8.5vw,9.8rem);max-width:1050px}.ms-case-hero__subtitle{max-width:950px;margin:0 0 28px;font-size:clamp(1.65rem,3.1vw,3.2rem);font-weight:720;line-height:1.05;letter-spacing:-.045em;color:#dce3e5}.ms-case-hero__content .ms-lead{max-width:880px;color:#aebbc1}.ms-case-hero__actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}.ms-case-hero__aside{display:flex;flex-direction:column;gap:18px}.ms-case-hero__logo{display:grid;place-items:center;min-height:150px;padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(6,12,15,.62);backdrop-filter:blur(15px)}.ms-case-hero__logo img{width:auto!important;max-width:240px!important;height:auto!important;max-height:82px!important;object-fit:contain!important;filter:grayscale(1) brightness(0) invert(1)!important;opacity:.55!important;transition:opacity .25s ease!important}.ms-case-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;background:rgba(6,12,15,.55)}.ms-case-meta span{display:flex;flex-direction:column;gap:5px;min-height:95px;padding:20px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.ms-case-meta span:nth-child(2n){border-right:0}.ms-case-meta span:nth-last-child(-n+2){border-bottom:0}.ms-case-meta small{font-size:.56rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--ms-accent)}.ms-case-meta strong{font-size:.92rem;line-height:1.25;color:#e8ecec}.ms-case-cover{position:relative;margin-top:70px;padding:15px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:#061017;box-shadow:0 40px 100px rgba(0,0,0,.3)}.ms-case-cover:before{content:"";display:block;height:30px;margin:-1px -1px 14px;border-bottom:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 18px 15px,#f47a24 0 3px,transparent 4px),radial-gradient(circle at 34px 15px,#7f8a8e 0 3px,transparent 4px),radial-gradient(circle at 50px 15px,#7f8a8e 0 3px,transparent 4px)}.ms-case-cover img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px;background:#0b1114}.ms-case-body{padding-top:115px;padding-bottom:120px}.ms-case-story{display:grid;grid-template-columns:190px minmax(0,1fr);gap:70px;padding:75px 0;border-top:1px solid var(--ms-line)}.ms-case-story>div:first-child{position:relative}.ms-case-story>div:first-child>span{display:block;margin-top:32px;font-size:5rem;font-weight:900;line-height:.8;letter-spacing:-.08em;color:rgba(255,255,255,.055)}.ms-case-story h2{max-width:950px;margin:0 0 30px;font-size:clamp(2.8rem,5.4vw,6.1rem)}.ms-case-story>div:last-child>p{max-width:930px;margin:0;color:#c7d0d3;font-size:1.16rem;line-height:1.72}.ms-case-section-heading{display:grid;grid-template-columns:190px minmax(0,1fr);gap:70px;align-items:start;margin-bottom:52px}.ms-case-section-heading h2{margin:0;max-width:950px;font-size:clamp(2.7rem,4.8vw,5.6rem)}.ms-case-impact,.ms-case-capabilities,.ms-case-devices,.ms-case-mobile-only,.ms-case-gallery,.ms-case-editor{padding:95px 0;border-top:1px solid var(--ms-line)}.ms-case-impact__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ms-line);border-left:1px solid var(--ms-line)}.ms-case-impact__grid article{min-height:190px;padding:25px;border-right:1px solid var(--ms-line);border-bottom:1px solid var(--ms-line);display:flex;flex-direction:column;justify-content:space-between}.ms-case-impact__grid span{color:var(--ms-accent);font-size:.65rem;font-weight:900}.ms-case-impact__grid p{margin:35px 0 0;font-size:1.03rem;font-weight:700;line-height:1.35}.ms-case-capabilities__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ms-case-capabilities__grid article{min-height:310px;padding:34px;border:1px solid var(--ms-line);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}.ms-case-capabilities__grid h3{margin:0 0 30px;font-size:2rem}.ms-case-capabilities__grid ul{list-style:none;margin:0;padding:0}.ms-case-capabilities__grid li{position:relative;padding:13px 0 13px 22px;border-top:1px solid rgba(255,255,255,.09);color:#b9c4c8}.ms-case-capabilities__grid li:before{content:"";position:absolute;left:1px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--ms-accent);transform:translateY(-50%)}.ms-case-devices__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,330px);gap:28px;align-items:end}.ms-case-device{margin:0;padding:14px;border:1px solid var(--ms-line);border-radius:16px;background:#050d12}.ms-case-device img{width:100%;height:auto;object-fit:contain;border-radius:8px}.ms-case-device figcaption,.ms-case-gallery figcaption{padding:12px 3px 1px;color:#87969d;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ms-case-device--mobile{padding:12px}.ms-case-mobile-only figure{width:min(440px,100%);margin:0 auto;padding:14px;border:1px solid var(--ms-line);border-radius:16px;background:#050d12}.ms-case-mobile-only img{width:100%;height:auto}.ms-case-gallery__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.ms-case-gallery__item{grid-column:span 6;margin:0;padding:10px;border:1px solid var(--ms-line);border-radius:14px;background:#050d12;overflow:hidden}.ms-case-gallery__item:nth-child(5n+1){grid-column:span 8}.ms-case-gallery__item:nth-child(5n+2){grid-column:span 4}.ms-case-gallery__item img{width:100%;height:auto;object-fit:contain;border-radius:7px;background:#0a1115}.ms-case-editor{max-width:1050px;margin-inline:auto}.ms-case-editor h2{font-size:clamp(2.6rem,4.8vw,5rem);margin:55px 0 25px}.ms-case-editor h3{font-size:clamp(1.8rem,3vw,3rem);margin:42px 0 20px}.ms-case-editor p,.ms-case-editor li{color:#c5cfd2;font-size:1.08rem;line-height:1.7}.ms-case-editor img{margin:35px 0;border-radius:12px}.ms-case-editor a{color:var(--ms-accent);border-bottom:1px solid currentColor}

@media(max-width:1100px){.ms-case-hero__grid{grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);gap:45px}.ms-case-impact__grid{grid-template-columns:repeat(2,1fr)}.ms-case-story,.ms-case-section-heading{grid-template-columns:145px minmax(0,1fr);gap:38px}.ms-case-gallery__item,.ms-case-gallery__item:nth-child(5n+1),.ms-case-gallery__item:nth-child(5n+2){grid-column:span 6}}
@media(max-width:820px){.ms-case-hero{min-height:auto;padding:calc(var(--ms-header) + 80px) 0 75px}.ms-case-hero__grid{grid-template-columns:1fr;gap:45px}.ms-case-hero__aside{display:grid;grid-template-columns:.75fr 1.25fr}.ms-case-hero__logo{min-height:130px}.ms-case-cover{margin-top:36px}.ms-case-body{padding-top:75px}.ms-case-story,.ms-case-section-heading{grid-template-columns:1fr;gap:20px}.ms-case-story{padding:60px 0}.ms-case-story>div:first-child{display:flex;align-items:center;justify-content:space-between}.ms-case-story>div:first-child>span{margin:0;font-size:3.5rem}.ms-case-impact,.ms-case-capabilities,.ms-case-devices,.ms-case-mobile-only,.ms-case-gallery,.ms-case-editor{padding:70px 0}.ms-case-capabilities__grid{grid-template-columns:1fr}.ms-case-devices__grid{grid-template-columns:1fr minmax(190px,260px)}}
@media(max-width:600px){.ms-case-hero:before{top:calc(var(--ms-header) + 35px);font-size:5rem}.ms-case-hero:after{display:none}.ms-case-hero__content h1{font-size:clamp(3.4rem,15vw,5.2rem)}.ms-case-hero__subtitle{font-size:1.55rem}.ms-case-hero__aside{grid-template-columns:1fr}.ms-case-meta span{min-height:82px;padding:16px}.ms-case-cover{width:calc(100vw - 28px);padding:8px;border-radius:12px}.ms-case-cover:before{height:24px;margin:-1px -1px 8px;background-position:-2px -3px,-2px -3px,-2px -3px}.ms-case-body{width:calc(100vw - 28px);padding-top:55px;padding-bottom:80px}.ms-case-story h2,.ms-case-section-heading h2{font-size:clamp(2.4rem,12vw,4rem)}.ms-case-story>div:last-child>p{font-size:1rem}.ms-case-impact__grid{grid-template-columns:1fr}.ms-case-impact__grid article{min-height:150px}.ms-case-devices__grid{grid-template-columns:1fr}.ms-case-device--mobile{width:min(300px,88%);margin-inline:auto}.ms-case-gallery__grid{grid-template-columns:1fr;gap:12px}.ms-case-gallery__item,.ms-case-gallery__item:nth-child(5n+1),.ms-case-gallery__item:nth-child(5n+2){grid-column:1}.ms-site .ms-project-card__logo{max-width:140px!important;height:46px!important}.ms-site .ms-project-card__status{font-size:.48rem!important}.ms-site .ms-project-card__meta{align-items:flex-start;flex-direction:column;gap:4px}.ms-site .ms-project-card__body h3{margin-top:11px}}
@media(prefers-reduced-motion:reduce){.ms-site .ms-project-card{transition:none}.ms-site .ms-project-card:hover{transform:none}}
.ms-case-desktop-only{padding:95px 0;border-top:1px solid var(--ms-line)}.ms-case-desktop-only figure{margin:0;padding:14px;border:1px solid var(--ms-line);border-radius:16px;background:#050d12}.ms-case-desktop-only img{width:100%;height:auto;border-radius:8px}@media(max-width:820px){.ms-case-desktop-only{padding:70px 0}}
/* A single published project still fills the section with a deliberate editorial layout. */
.ms-site .ms-project-grid>.ms-project-card:only-child{grid-column:1/-1;min-height:470px}.ms-site .ms-project-grid>.ms-project-card:only-child>a{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__image{height:100%;min-height:470px}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__body{justify-content:center;min-height:470px;padding:48px}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__body h3{font-size:clamp(2.6rem,4.2vw,4.8rem);margin-top:18px}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__summary{font-size:1rem!important;max-width:540px}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__body>i{right:42px;bottom:42px}@media(max-width:820px){.ms-site .ms-project-grid>.ms-project-card:only-child>a{grid-template-columns:1fr}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__image{height:320px;min-height:320px}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__body{min-height:260px;padding:30px}.ms-site .ms-project-grid>.ms-project-card:only-child .ms-project-card__body>i{right:28px;bottom:28px}}
.ms-site .ms-project-card:focus-within{border-color:rgba(244,122,36,.75);box-shadow:0 0 0 3px rgba(244,122,36,.15),0 26px 70px rgba(0,0,0,.22)}.ms-site .ms-project-card>a:focus-visible{outline:0}

/* V5.6.1 — project logos use the same monochrome treatment as client logos. */
.ms-site .ms-project-card:hover .ms-project-card__logo img,
.ms-site .ms-project-card:focus-within .ms-project-card__logo img,
.ms-site .ms-case-hero__logo:hover img{opacity:.94!important;}

/* V5.6.4 — readable direct-contact labels on orange lead sections. */
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts{
  border-color:rgba(9,12,13,.22)!important;
  background:rgba(255,255,255,.075)!important;
  box-shadow:0 16px 42px rgba(88,37,5,.11)!important;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a{
  border-color:rgba(9,12,13,.16)!important;
  color:#0b0d0d!important;
  background:rgba(255,255,255,.035)!important;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts span,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts i{
  color:#111516!important;
  opacity:1!important;
  text-shadow:none!important;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts strong{
  color:#080a0a!important;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:hover,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:focus-visible{
  color:#080a0a!important;
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(9,12,13,.3)!important;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:hover span,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:hover strong,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:hover i,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:focus-visible span,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:focus-visible strong,
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts a:focus-visible i{
  color:#080a0a!important;
}

/* =========================================================
   V5.7.0 — INTERIOR PAGE HARMONISATION
   More balanced hierarchy, readable hero scales and tighter
   vertical rhythm across services, regions, projects, contact,
   profile, resume and project case studies.
   ========================================================= */

/* Shared rhythm for every page except the dedicated homepage composition. */
.ms-site:not(.ms-home-v5) .ms-section{
  padding:112px 0;
}
.ms-site:not(.ms-home-v5) .ms-lead{
  max-width:760px;
  font-size:clamp(1.02rem,1.28vw,1.28rem);
  line-height:1.56;
}
.ms-site:not(.ms-home-v5) .ms-section-heading{
  max-width:920px;
  margin-bottom:52px;
}
.ms-site:not(.ms-home-v5) .ms-section-heading h2{
  max-width:900px;
  font-size:clamp(2.55rem,4.05vw,4.9rem);
  line-height:.96;
}
.ms-site:not(.ms-home-v5) .ms-section-heading>p:last-child{
  max-width:650px;
  font-size:.96rem;
  line-height:1.62;
}
.ms-site:not(.ms-home-v5) .ms-section-heading--split{
  grid-template-columns:135px minmax(0,1fr) 300px;
  gap:36px;
}
.ms-site:not(.ms-home-v5) .ms-section-heading--split h2{
  font-size:clamp(2.45rem,3.8vw,4.55rem);
}

/* Service pages: smaller title, shorter hero and calmer principle card. */
.ms-service-page .ms-service-hero{
  min-height:720px;
  padding:calc(var(--ms-header) + 72px) 0 82px;
}
.ms-service-page .ms-service-hero__word{
  top:128px;
  font-size:clamp(6rem,11.5vw,13.2rem);
  color:rgba(255,255,255,.042);
}
.ms-service-page .ms-service-hero__grid{
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);
  gap:62px;
}
.ms-service-page .ms-service-hero__copy h1{
  max-width:980px;
  margin:14px 0 27px;
  font-size:clamp(3.9rem,5.7vw,6.85rem);
  line-height:.93;
}
.ms-service-page .ms-service-hero__copy .ms-index{
  width:38px;
  height:38px;
  margin-bottom:22px;
}
.ms-service-page .ms-service-hero__panel{
  min-height:250px;
  padding:28px;
}
.ms-service-page .ms-service-hero__panel blockquote{
  font-size:1.06rem;
  line-height:1.48;
}
.ms-service-page .ms-deliverable{
  min-height:195px;
  padding:27px;
}
.ms-service-page .ms-deliverable p{
  font-size:1rem;
  line-height:1.42;
}
.ms-service-page .ms-use-cases__grid{
  grid-template-columns:.72fr 1.28fr;
  gap:68px;
}
.ms-service-page .ms-use-cases h2,
.ms-service-page .ms-local-service h2,
.ms-service-page .ms-faq h2{
  max-width:760px;
  font-size:clamp(2.55rem,4.05vw,4.85rem);
  line-height:.96;
}
.ms-service-page .ms-local-service__grid{
  grid-template-columns:.58fr 1.42fr;
  gap:72px;
}
.ms-service-page .ms-local-service__marker{
  font-size:clamp(3.8rem,7vw,7.8rem);
  color:rgba(255,255,255,.15);
}
.ms-service-page .ms-local-service p:not(.ms-eyebrow){
  font-size:1.04rem;
  line-height:1.65;
}

/* Regional pages: retain presence without letting the title overpower the map. */
.ms-region-page .ms-region-hero{
  min-height:740px;
  padding:calc(var(--ms-header) + 72px) 0 72px;
}
.ms-region-page .ms-region-hero:before{
  width:650px;
  height:650px;
  right:-180px;
  top:48px;
}
.ms-region-page .ms-region-hero__content{
  padding-right:330px;
}
.ms-region-page .ms-region-hero h1{
  max-width:940px;
  margin:14px 0 26px;
  font-size:clamp(3.9rem,5.55vw,6.7rem);
  line-height:.93;
}
.ms-region-page .ms-region-hero__map{
  right:7vw;
  top:138px;
  width:292px;
  height:292px;
}
.ms-region-page .ms-region-hero__cities{
  margin-top:46px;
}
.ms-region-page .ms-region-context__grid{
  gap:70px;
}
.ms-region-page .ms-region-context h2,
.ms-region-page .ms-region-services h2,
.ms-region-page .ms-faq h2{
  max-width:780px;
  font-size:clamp(2.55rem,4vw,4.8rem);
  line-height:.96;
}
.ms-region-page .ms-region-sector{
  min-height:315px;
  padding:28px;
}
.ms-region-page .ms-region-sector h3{
  margin:62px 0 18px;
  font-size:clamp(1.55rem,2vw,2.25rem);
}
.ms-region-page .ms-service-links a{
  padding:22px 0;
}
.ms-region-page .ms-service-links strong{
  font-size:clamp(1.45rem,2.45vw,2.7rem);
}

/* Projects and insights archives. */
.ms-page-projects .ms-archive-hero,
.ms-page-insights .ms-archive-hero{
  min-height:590px;
  padding:calc(var(--ms-header) + 78px) 0 82px;
}
.ms-page-projects .ms-archive-hero__word,
.ms-page-insights .ms-archive-hero__word{
  top:125px;
  font-size:clamp(7rem,18vw,18rem);
  color:rgba(255,255,255,.042);
}
.ms-page-projects .ms-archive-hero h1,
.ms-page-insights .ms-archive-hero h1{
  max-width:900px;
  margin:14px 0 25px;
  font-size:clamp(3.9rem,5.7vw,6.85rem);
  line-height:.93;
}
.ms-page-projects .ms-project-grid{
  gap:22px;
}
.ms-page-projects .ms-project-card__body h3{
  font-size:clamp(1.8rem,2.25vw,2.45rem);
  line-height:1;
}

/* Contact page: reduce the opening statement and bring the form higher. */
.ms-page-contact .ms-contact-hero{
  min-height:auto;
  padding:calc(var(--ms-header) + 78px) 0 112px;
}
.ms-page-contact .ms-contact-hero h1{
  max-width:980px;
  margin:14px 0 46px;
  font-size:clamp(4.05rem,5.9vw,7.05rem);
  line-height:.93;
}
.ms-page-contact .ms-contact-hero__grid{
  grid-template-columns:minmax(300px,.76fr) minmax(610px,1.24fr);
  gap:64px;
}
.ms-page-contact .ms-contact-hero__grid>div:last-child{
  margin-top:0;
}
.ms-page-contact .ms-contact-links{
  margin-top:34px;
}
.ms-page-contact .ms-contact-links>a,
.ms-page-contact .ms-contact-links>div{
  padding:16px 0;
}

/* About and resume hero balance. */
.ms-page-about .ms-profile-hero{
  min-height:760px;
  padding:calc(var(--ms-header) + 55px) 0 0;
}
.ms-page-about .ms-profile-hero__name{
  top:125px;
  font-size:clamp(7rem,15vw,16rem);
  color:rgba(255,255,255,.045);
}
.ms-page-about .ms-profile-hero__grid{
  height:650px;
  gap:58px;
}
.ms-page-about .ms-profile-hero h1{
  max-width:840px;
  margin:14px 0 28px;
  font-size:clamp(3.8rem,5.55vw,6.65rem);
  line-height:.93;
}
.ms-page-resume .ms-resume-hero{
  min-height:700px;
  padding:calc(var(--ms-header) + 60px) 0 0;
}
.ms-page-resume .ms-resume-hero__grid{
  grid-template-columns:1.1fr .9fr;
  gap:54px;
  height:610px;
}
.ms-page-resume .ms-resume-hero h1{
  max-width:820px;
  margin:14px 0 27px;
  font-size:clamp(3.8rem,5.5vw,6.6rem);
  line-height:.93;
}
.ms-page-resume .ms-resume-hero__portrait{
  height:96%;
}
.ms-page-resume .ms-resume-item{
  padding:36px 0;
}
.ms-page-resume .ms-resume-item h2{
  font-size:clamp(1.95rem,3.35vw,3.8rem);
  line-height:.96;
}
.ms-page-resume .ms-resume-education h2{
  max-width:760px;
  font-size:clamp(2.55rem,4vw,4.8rem);
}
.ms-page-resume .ms-resume-education article{
  min-height:245px;
  padding:34px;
}
.ms-page-resume .ms-resume-education h3{
  margin:62px 0 10px;
}

/* Repeated FAQ, orange lead and footer sections. */
.ms-site:not(.ms-home-v5) .ms-faq__grid{
  grid-template-columns:.72fr 1.28fr;
  gap:72px;
}
.ms-site:not(.ms-home-v5) .ms-accordion summary{
  padding:22px 0;
  font-size:.98rem;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__grid{
  grid-template-columns:minmax(0,.8fr) minmax(570px,1.2fr);
  gap:72px;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__copy h2{
  max-width:620px;
  margin:14px 0 26px;
  font-size:clamp(2.9rem,4.55vw,5.35rem);
  line-height:.94;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__copy>p:not(.ms-eyebrow){
  max-width:560px;
  font-size:1rem;
  line-height:1.62;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__micro{
  margin-top:36px;
}
.ms-site:not(.ms-home-v5) .ms-footer{
  padding-top:92px;
}
.ms-site:not(.ms-home-v5) .ms-footer__headline{
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:36px;
  padding-bottom:78px;
}
.ms-site:not(.ms-home-v5) .ms-footer__headline h2{
  max-width:850px;
  font-size:clamp(2.9rem,4.55vw,5.35rem);
  line-height:.95;
}
.ms-site:not(.ms-home-v5) .ms-footer__grid{
  gap:44px;
  padding:52px 0;
}

/* Case studies receive the same editorial scale as the rest of the site. */
.ms-page-project-single .ms-case-hero{
  min-height:680px;
  padding:calc(var(--ms-header) + 88px) 0 88px;
}
.ms-page-project-single .ms-case-hero:before{
  top:calc(var(--ms-header) + 45px);
  font-size:clamp(5rem,12vw,12rem);
}
.ms-page-project-single .ms-case-hero__grid{
  gap:66px;
}
.ms-page-project-single .ms-case-hero__content h1{
  max-width:920px;
  font-size:clamp(3.9rem,6.15vw,7.35rem);
  line-height:.93;
}
.ms-page-project-single .ms-case-hero__subtitle{
  max-width:850px;
  font-size:clamp(1.45rem,2.3vw,2.45rem);
  line-height:1.08;
}
.ms-page-project-single .ms-case-story h2,
.ms-page-project-single .ms-case-section-heading h2{
  font-size:clamp(2.55rem,4.2vw,4.95rem);
}
.ms-page-project-single .ms-case-story>div:last-child>p{
  font-size:1.08rem;
}

@media (max-width:1200px){
  .ms-site:not(.ms-home-v5) .ms-section-heading--split{
    grid-template-columns:115px minmax(0,1fr) 250px;
    gap:28px;
  }
  .ms-region-page .ms-region-hero__content{
    padding-right:270px;
  }
  .ms-region-page .ms-region-hero__map{
    width:255px;
    height:255px;
    right:4vw;
  }
  .ms-page-contact .ms-contact-hero__grid{
    grid-template-columns:minmax(270px,.72fr) minmax(540px,1.28fr);
    gap:48px;
  }
  .ms-site:not(.ms-home-v5) .ms-lead-section__grid{
    grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);
    gap:52px;
  }
}

@media (max-width:900px){
  .ms-site:not(.ms-home-v5) .ms-section{
    padding:82px 0;
  }
  .ms-site:not(.ms-home-v5) .ms-section-heading--split{
    grid-template-columns:1fr;
    gap:14px;
  }
  .ms-service-page .ms-service-hero{
    padding:calc(var(--ms-header) + 62px) 0 70px;
  }
  .ms-service-page .ms-service-hero__grid,
  .ms-service-page .ms-use-cases__grid,
  .ms-service-page .ms-local-service__grid,
  .ms-region-page .ms-region-context__grid,
  .ms-page-contact .ms-contact-hero__grid,
  .ms-site:not(.ms-home-v5) .ms-faq__grid,
  .ms-site:not(.ms-home-v5) .ms-lead-section__grid{
    grid-template-columns:1fr;
  }
  .ms-service-page .ms-service-hero__copy h1,
  .ms-region-page .ms-region-hero h1,
  .ms-page-projects .ms-archive-hero h1,
  .ms-page-insights .ms-archive-hero h1,
  .ms-page-contact .ms-contact-hero h1,
  .ms-page-about .ms-profile-hero h1,
  .ms-page-resume .ms-resume-hero h1{
    font-size:clamp(3.35rem,8.4vw,5.2rem);
  }
  .ms-service-page .ms-service-hero__panel{
    min-height:210px;
    max-width:700px;
  }
  .ms-region-page .ms-region-hero{
    min-height:auto;
    padding:calc(var(--ms-header) + 64px) 0 68px;
  }
  .ms-region-page .ms-region-hero__content{
    padding-right:155px;
  }
  .ms-region-page .ms-region-hero__map{
    right:-55px;
    top:155px;
    opacity:.38;
  }
  .ms-page-projects .ms-archive-hero,
  .ms-page-insights .ms-archive-hero{
    min-height:520px;
    padding:calc(var(--ms-header) + 62px) 0 72px;
  }
  .ms-page-contact .ms-contact-hero{
    padding:calc(var(--ms-header) + 62px) 0 86px;
  }
  .ms-page-contact .ms-contact-hero__grid{
    gap:42px;
  }
  .ms-page-resume .ms-resume-hero,
  .ms-page-about .ms-profile-hero{
    min-height:auto;
    padding-top:calc(var(--ms-header) + 50px);
  }
  .ms-page-resume .ms-resume-hero__grid,
  .ms-page-about .ms-profile-hero__grid{
    height:auto;
    gap:36px;
  }
  .ms-page-resume .ms-resume-hero__portrait,
  .ms-page-about .ms-profile-hero__photo{
    height:560px;
  }
  .ms-site:not(.ms-home-v5) .ms-lead-section__grid{
    gap:42px;
  }
  .ms-site:not(.ms-home-v5) .ms-footer__headline{
    grid-template-columns:1fr;
    gap:18px;
    padding-bottom:62px;
  }
  .ms-page-project-single .ms-case-hero{
    min-height:auto;
    padding:calc(var(--ms-header) + 62px) 0 72px;
  }
}

@media (max-width:620px){
  .ms-site:not(.ms-home-v5) .ms-section{
    padding:66px 0;
  }
  .ms-site:not(.ms-home-v5) .ms-lead{
    font-size:1rem;
  }
  .ms-site:not(.ms-home-v5) .ms-section-heading h2,
  .ms-service-page .ms-use-cases h2,
  .ms-service-page .ms-local-service h2,
  .ms-service-page .ms-faq h2,
  .ms-region-page .ms-region-context h2,
  .ms-region-page .ms-region-services h2,
  .ms-region-page .ms-faq h2,
  .ms-page-resume .ms-resume-education h2{
    font-size:clamp(2.25rem,10.2vw,3.35rem);
  }
  .ms-service-page .ms-service-hero{
    padding:calc(var(--ms-header) + 42px) 0 58px;
  }
  .ms-service-page .ms-service-hero__word{
    top:108px;
    font-size:4.4rem;
  }
  .ms-service-page .ms-service-hero__copy h1,
  .ms-region-page .ms-region-hero h1,
  .ms-page-projects .ms-archive-hero h1,
  .ms-page-insights .ms-archive-hero h1,
  .ms-page-contact .ms-contact-hero h1,
  .ms-page-about .ms-profile-hero h1,
  .ms-page-resume .ms-resume-hero h1{
    font-size:clamp(2.85rem,12.2vw,4rem);
    line-height:.94;
  }
  .ms-service-page .ms-service-hero__panel{
    min-height:190px;
    padding:22px;
  }
  .ms-service-page .ms-deliverable{
    min-height:165px;
    padding:23px;
  }
  .ms-service-page .ms-local-service__marker{
    font-size:4.7rem;
  }
  .ms-region-page .ms-region-hero__content{
    padding-right:0;
  }
  .ms-region-page .ms-region-hero__map{
    display:none;
  }
  .ms-region-page .ms-region-sector{
    min-height:255px;
  }
  .ms-page-projects .ms-archive-hero,
  .ms-page-insights .ms-archive-hero{
    min-height:auto;
    padding:calc(var(--ms-header) + 45px) 0 62px;
  }
  .ms-page-projects .ms-archive-hero__word,
  .ms-page-insights .ms-archive-hero__word{
    top:112px;
    font-size:7rem;
  }
  .ms-page-contact .ms-contact-hero{
    padding:calc(var(--ms-header) + 45px) 0 72px;
  }
  .ms-page-contact .ms-contact-hero h1{
    margin-bottom:34px;
  }
  .ms-page-resume .ms-resume-hero__portrait,
  .ms-page-about .ms-profile-hero__photo{
    height:470px;
  }
  .ms-page-resume .ms-resume-item h2{
    font-size:clamp(1.9rem,8.5vw,2.75rem);
  }
  .ms-site:not(.ms-home-v5) .ms-lead-section__copy h2,
  .ms-site:not(.ms-home-v5) .ms-footer__headline h2{
    font-size:clamp(2.45rem,10.8vw,3.55rem);
  }
  .ms-page-project-single .ms-case-hero__content h1{
    font-size:clamp(2.9rem,12.4vw,4.15rem);
  }
  .ms-page-project-single .ms-case-story h2,
  .ms-page-project-single .ms-case-section-heading h2{
    font-size:clamp(2.25rem,10.2vw,3.4rem);
  }
}


/* V5.7.1 — Resume hero: complete title visibility and improved vertical balance. */
@media (min-width:901px){
  .ms-page-resume .ms-resume-hero{
    min-height:760px;
    padding:calc(var(--ms-header) + 42px) 0 0;
  }
  .ms-page-resume .ms-resume-hero__grid{
    min-height:675px;
    height:auto;
    align-items:stretch;
  }
  .ms-page-resume .ms-resume-hero__grid>div:first-child{
    align-self:start;
    padding-top:68px;
    padding-bottom:54px;
  }
  .ms-page-resume .ms-resume-hero h1{
    max-width:760px;
    font-size:clamp(3.55rem,4.85vw,5.8rem);
    line-height:.94;
    text-wrap:balance;
  }
  .ms-page-resume .ms-resume-hero__portrait{
    align-self:end;
    height:650px;
  }
  .ms-page-resume .ms-resume-hero__portrait .ms-person-image{
    max-height:100%;
    object-fit:contain;
    object-position:center bottom;
  }
}
@media (min-width:901px) and (max-height:820px){
  .ms-page-resume .ms-resume-hero{
    min-height:680px;
    padding-top:calc(var(--ms-header) + 26px);
  }
  .ms-page-resume .ms-resume-hero__grid{
    min-height:595px;
  }
  .ms-page-resume .ms-resume-hero__grid>div:first-child{
    padding-top:38px;
    padding-bottom:38px;
  }
  .ms-page-resume .ms-resume-hero h1{
    max-width:700px;
    font-size:clamp(3.25rem,4.5vw,5.25rem);
    margin-bottom:22px;
  }
  .ms-page-resume .ms-resume-hero__portrait{
    height:575px;
  }
}
@media (max-width:900px){
  .ms-page-resume .ms-resume-hero{
    overflow:visible;
  }
  .ms-page-resume .ms-resume-hero__grid>div:first-child{
    padding-bottom:0;
  }
}


/* =========================================================
   V5.7.3 — Flush wrapper/background fix for home + menu
   Removes light strips caused by theme/Elementor wrappers
   ========================================================= */
html,
body.mslp-active{
  background:#071722!important;
}
body.mslp-active,
body.mslp-active #page,
body.mslp-active #content,
body.mslp-active .site,
body.mslp-active .site-content,
body.mslp-active .site-main,
body.mslp-active .content-area,
body.mslp-active .entry-content,
body.mslp-active .page-content,
body.mslp-active .post-inner,
body.mslp-active .wp-site-blocks,
body.mslp-active .is-layout-constrained,
body.mslp-active .elementor,
body.mslp-active .elementor-section-wrap,
body.mslp-active .elementor-widget-wrap,
body.mslp-active .elementor-widget-container,
body.mslp-active .elementor-shortcode,
body.mslp-active .elementor-section,
body.mslp-active .elementor-container,
body.mslp-active .elementor-column,
body.mslp-active .elementor-column-wrap,
body.mslp-active .elementor-element,
body.mslp-active article,
body.mslp-active main{
  background:transparent!important;
}
body.mslp-active #page,
body.mslp-active #content,
body.mslp-active .site,
body.mslp-active .site-content,
body.mslp-active .site-main,
body.mslp-active .content-area,
body.mslp-active .entry-content,
body.mslp-active .page-content,
body.mslp-active .post-inner,
body.mslp-active .wp-site-blocks,
body.mslp-active .is-layout-constrained,
body.mslp-active .elementor,
body.mslp-active .elementor-section-wrap,
body.mslp-active .elementor-widget-wrap,
body.mslp-active .elementor-widget-container,
body.mslp-active .elementor-shortcode{
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  max-width:none!important;
}
body.mslp-active .elementor-top-section,
body.mslp-active .elementor-section,
body.mslp-active .elementor-container,
body.mslp-active .elementor-column,
body.mslp-active .elementor-column-gap-default>.elementor-column>.elementor-element-populated{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.mslp-active .entry-content>:first-child,
body.mslp-active .page-content>:first-child,
body.mslp-active .elementor-shortcode>:first-child,
body.mslp-active .ms-site>:first-child,
body.mslp-active .ms-main>:first-child{
  margin-top:0!important;
}
body.mslp-active .entry-content>:last-child,
body.mslp-active .page-content>:last-child,
body.mslp-active .elementor-shortcode>:last-child,
body.mslp-active .ms-site>:last-child,
body.mslp-active .ms-main>:last-child{
  margin-bottom:0!important;
}
body.mslp-active .ms-site{
  display:block;
  width:100%;
  min-height:100vh;
  background:#071722!important;
}
body.mslp-active .ms-main,
body.mslp-active .ms-footer,
body.mslp-active .ms-home-v5 .ms-home-hero,
body.mslp-active .ms-site .ms-overlay-menu{
  margin:0!important;
}
body.mslp-active .ms-home-v5 .ms-home-hero{
  width:100%!important;
}
body.mslp-active .ms-site .ms-overlay-menu{
  min-height:100dvh;
  background:#080b0d!important;
}
body.mslp-active .ms-site .ms-overlay-menu__inner{
  margin:0 auto!important;
}


/* V5.7.4 — better mobile alignment for project client logos */
.ms-site .ms-project-card__logo{
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  line-height:0!important;
}
.ms-site .ms-project-card__logo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:600px){
  .ms-site .ms-project-card__logo{
    left:16px!important;
    bottom:24px!important;
    height:48px!important;
    padding:9px 12px!important;
  }
  .ms-site .ms-project-card__logo img{
    max-height:28px!important;
  }
}

/* =========================================================
   V5.8.0 — Privacy policy editorial layout
   ========================================================= */
.ms-privacy-hero{
  position:relative;
  padding:calc(var(--ms-header) + 92px) 0 82px;
  background:
    radial-gradient(circle at 84% 22%,rgba(244,122,36,.11),transparent 31%),
    linear-gradient(145deg,#0b1d28,#071722 68%,#081119);
  border-bottom:1px solid rgba(255,255,255,.12);
  overflow:hidden;
}
.ms-privacy-hero:before{
  content:"PRIVACY";
  position:absolute;
  right:-.04em;
  bottom:-.18em;
  color:rgba(255,255,255,.035);
  font-family:var(--ms-font);
  font-size:clamp(7rem,18vw,17rem);
  font-weight:950;
  line-height:.8;
  letter-spacing:-.09em;
  pointer-events:none;
}
.ms-privacy-hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:80px;
  align-items:end;
}
.ms-privacy-hero h1{
  max-width:900px;
  margin:14px 0 24px;
  font-size:clamp(4rem,7.4vw,7.8rem);
}
.ms-privacy-hero .ms-lead{max-width:820px;margin:0}
.ms-privacy-hero__summary{
  display:grid;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(7,13,17,.56);
  backdrop-filter:blur(14px);
  overflow:hidden;
}
.ms-privacy-hero__summary span{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
.ms-privacy-hero__summary span:last-child{border-bottom:0}
.ms-privacy-hero__summary small{display:block;margin-bottom:5px;color:var(--ms-accent);font-size:.58rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ms-privacy-hero__summary strong{font-size:.92rem}
.ms-privacy-page{padding:100px 0 135px;background:#071722}
.ms-privacy-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:75px;align-items:start}
.ms-privacy-nav{
  position:sticky;
  top:calc(var(--ms-header) + 28px);
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:#0b1c27;
}
.ms-privacy-nav .ms-eyebrow{margin-bottom:15px}
.ms-privacy-nav a{
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.08);
  color:#9eabb2;
  font-size:.68rem;
  font-weight:800;
  line-height:1.25;
  transition:color .2s ease,padding-left .2s ease;
}
.ms-privacy-nav a:hover,.ms-privacy-nav a:focus-visible{padding-left:5px;color:var(--ms-accent)!important}
.ms-privacy-content{min-width:0}
.ms-privacy-section{
  scroll-margin-top:calc(var(--ms-header) + 32px);
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:30px;
  padding:0 0 82px;
  margin-bottom:82px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.ms-privacy-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.ms-privacy-section__number{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid rgba(244,122,36,.48);
  border-radius:50%;
  color:var(--ms-accent);
  font-size:.68rem;
  font-weight:900;
}
.ms-privacy-section h2{max-width:820px;margin:9px 0 25px;font-size:clamp(2.25rem,4.1vw,4.6rem);line-height:.95}
.ms-privacy-section h3{font-size:1.25rem;letter-spacing:-.035em}
.ms-privacy-section p{max-width:900px;color:#b7c1c6;font-size:1rem;line-height:1.72}
.ms-privacy-section p strong{color:#f2f4f2}
.ms-privacy-section a{color:var(--ms-accent)!important;border-bottom:1px solid rgba(244,122,36,.42)}
.ms-privacy-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:24px 0 30px;padding:0;list-style:none}
.ms-privacy-list li{position:relative;padding:13px 16px 13px 34px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.018);color:#d1d7d9;font-size:.88rem}
.ms-privacy-list li:before{content:"";position:absolute;left:15px;top:20px;width:6px;height:6px;border-radius:50%;background:var(--ms-accent);box-shadow:0 0 0 4px rgba(244,122,36,.1)}
.ms-privacy-contact-card{display:grid;grid-template-columns:1fr 1fr;margin:25px 0;border:1px solid rgba(255,255,255,.13);border-radius:12px;overflow:hidden}
.ms-privacy-contact-card a{position:relative;display:flex;flex-direction:column;padding:19px 48px 19px 20px;border:0!important;border-right:1px solid rgba(255,255,255,.11)!important;background:rgba(255,255,255,.018)}
.ms-privacy-contact-card a:last-child{border-right:0!important}
.ms-privacy-contact-card small{color:var(--ms-accent);font-size:.57rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ms-privacy-contact-card strong{margin-top:5px;color:#f5f5f2;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-privacy-contact-card span{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--ms-accent)}
.ms-privacy-contact-card a:hover{background:rgba(244,122,36,.07)}
.ms-privacy-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
.ms-privacy-purpose-grid article{position:relative;min-height:235px;padding:25px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:linear-gradient(145deg,#0c202c,#091822)}
.ms-privacy-purpose-grid article>span{color:var(--ms-accent);font-size:.65rem;font-weight:900}
.ms-privacy-purpose-grid h3{margin:42px 0 10px}
.ms-privacy-purpose-grid p{font-size:.86rem;line-height:1.55}
.ms-privacy-purpose-grid small{display:block;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);color:#7f929c;font-size:.68rem;line-height:1.45}
.ms-privacy-note,.ms-privacy-warning{margin-top:28px;padding:24px 26px;border:1px solid rgba(244,122,36,.4);border-radius:12px;background:rgba(244,122,36,.055)}
.ms-privacy-note strong,.ms-privacy-warning strong{display:block;margin-bottom:7px;color:var(--ms-accent);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}
.ms-privacy-note p,.ms-privacy-warning p{margin:0;font-size:.86rem}
.ms-privacy-provider-list{display:grid;gap:9px;margin:28px 0}
.ms-privacy-provider-list article{display:grid;grid-template-columns:210px 1fr;gap:22px;padding:18px 20px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.018)}
.ms-privacy-provider-list strong{font-size:.84rem}
.ms-privacy-provider-list span{color:#9eabb2;font-size:.82rem;line-height:1.5}
.ms-privacy-retention{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:28px}
.ms-privacy-retention article{padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:#0a1a24}
.ms-privacy-retention span{display:block;margin-bottom:22px;color:var(--ms-accent);font-size:1.4rem;font-weight:900;letter-spacing:-.04em}
.ms-privacy-retention p{margin:0;font-size:.82rem;line-height:1.55}
.ms-privacy-cookie-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.ms-privacy-cookie-types article{padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:#0a1a24}
.ms-privacy-cookie-types strong{display:block;margin-bottom:12px;color:#f2f4f2;font-size:.83rem}
.ms-privacy-cookie-types p{margin:0;font-size:.78rem;line-height:1.55}
.ms-privacy-warning{border-color:rgba(91,199,242,.44);background:rgba(91,199,242,.055)}
.ms-privacy-warning strong{color:#75d3f7}
.ms-privacy-final-card{margin-top:30px;padding:28px 30px;border-radius:13px;background:var(--ms-accent);color:#111}
.ms-privacy-final-card p{margin:0 0 15px;color:#111;font-size:1.15rem;font-weight:800}
.ms-privacy-final-card a{display:inline-flex;align-items:center;gap:18px;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.45)!important;color:#111!important;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:980px){
  .ms-privacy-hero__grid{grid-template-columns:1fr;gap:40px}
  .ms-privacy-hero__summary{grid-template-columns:repeat(3,1fr)}
  .ms-privacy-hero__summary span{border-bottom:0;border-right:1px solid rgba(255,255,255,.1)}
  .ms-privacy-hero__summary span:last-child{border-right:0}
  .ms-privacy-layout{grid-template-columns:1fr;gap:45px}
  .ms-privacy-nav{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,1fr)}
  .ms-privacy-nav .ms-eyebrow{grid-column:1/-1}
  .ms-privacy-provider-list article{grid-template-columns:180px 1fr}
}
@media(max-width:680px){
  .ms-privacy-hero{padding:calc(var(--ms-header) + 60px) 0 55px}
  .ms-privacy-hero h1{font-size:clamp(3.1rem,15vw,5rem)}
  .ms-privacy-hero__summary{grid-template-columns:1fr}
  .ms-privacy-hero__summary span{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .ms-privacy-hero__summary span:last-child{border-bottom:0}
  .ms-privacy-page{padding:62px 0 90px}
  .ms-privacy-nav{grid-template-columns:1fr;padding:18px}
  .ms-privacy-section{grid-template-columns:1fr;gap:18px;padding-bottom:58px;margin-bottom:58px}
  .ms-privacy-section__number{width:44px;height:44px}
  .ms-privacy-section h2{font-size:clamp(2.15rem,11vw,3.35rem)}
  .ms-privacy-section p{font-size:.92rem}
  .ms-privacy-list,.ms-privacy-purpose-grid,.ms-privacy-retention,.ms-privacy-cookie-types{grid-template-columns:1fr}
  .ms-privacy-contact-card{grid-template-columns:1fr}
  .ms-privacy-contact-card a{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.11)!important}
  .ms-privacy-contact-card a:last-child{border-bottom:0!important}
  .ms-privacy-provider-list article{grid-template-columns:1fr;gap:7px}
  .ms-privacy-purpose-grid article{min-height:0}
}


/* =========================================================
   V5.8.1 — Resume portrait on mobile + phone price notice
   ========================================================= */
.ms-site .ms-phone-link{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.ms-site .ms-phone-rate{
  display:block;
  margin-top:3px;
  color:#87949a!important;
  font-size:.5rem!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  white-space:normal!important;
}
.ms-site .ms-v5-hero__contact .ms-phone-rate{
  margin-top:1px;
  color:#9ca7ac!important;
  font-size:.42rem!important;
}
.ms-site .ms-footer__grid .ms-phone-link{
  gap:1px;
}
.ms-site .ms-footer__grid .ms-phone-rate{
  max-width:190px;
  font-size:.66rem!important;
  color:#777f82!important;
}
.ms-site .ms-overlay-menu__contact .ms-phone-rate{
  font-size:.6rem!important;
  color:#7f898d!important;
}
.ms-page-contact .ms-contact-links .ms-phone-link strong{
  color:#d1d2ce;
  font-size:inherit;
  font-weight:400;
}
.ms-page-contact .ms-contact-links .ms-phone-rate{
  margin-top:5px;
  color:#78858b!important;
  font-size:.62rem!important;
}
.ms-site .ms-lead-section__contacts .ms-phone-rate{
  margin-top:5px;
  padding-right:10px;
  color:inherit!important;
  opacity:.66;
  font-size:.51rem!important;
}
.ms-site:not(.ms-home-v5) .ms-lead-section__contacts .ms-phone-rate{
  color:#252a2b!important;
  opacity:.72;
}
.ms-privacy-contact-card .ms-phone-rate{
  position:static!important;
  transform:none!important;
  margin-top:5px!important;
  padding:0!important;
  color:#8b989d!important;
  font-size:.55rem!important;
}

@media(max-width:620px){
  .ms-page-resume .ms-resume-hero{
    overflow:hidden!important;
    padding-bottom:0!important;
  }
  .ms-page-resume .ms-resume-hero__grid{
    display:flex!important;
    flex-direction:column!important;
    gap:26px!important;
  }
  .ms-page-resume .ms-resume-hero__grid>div:first-child{
    width:100%!important;
    padding-bottom:8px!important;
  }
  .ms-page-resume .ms-resume-hero__portrait{
    order:2!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .ms-page-resume .ms-resume-hero__portrait .ms-person-image{
    display:block!important;
    width:min(100%,340px)!important;
    height:auto!important;
    max-width:340px!important;
    max-height:none!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:none!important;
  }
  .ms-site .ms-v5-hero__contact .ms-phone-rate{
    font-size:.38rem!important;
    line-height:1.12!important;
  }
}


/* =========================================================
   V5.8.2 — hero contact alignment + service diacritics
   ========================================================= */
.ms-home-v5 .ms-v5-hero__contact > a,
.ms-home-v5 .ms-v5-hero__contact > div{
  justify-content:center!important;
}

/* The previous -0.10em tracking compressed Ç/Ã too much and made
   the large decorative labels look clipped or malformed. */
.ms-service-page .ms-service-hero__word{
  top:112px!important;
  line-height:.92!important;
  letter-spacing:-.06em!important;
  padding:.16em .04em .14em 0!important;
  font-kerning:normal!important;
  font-feature-settings:"kern" 1,"liga" 1!important;
  text-rendering:geometricPrecision;
  overflow:visible!important;
}

@media(max-width:900px){
  .ms-service-page .ms-service-hero__word{
    top:104px!important;
    line-height:.96!important;
    letter-spacing:-.052em!important;
    padding-top:.18em!important;
  }
}

@media(max-width:600px){
  .ms-service-page .ms-service-hero__word{
    top:102px!important;
    font-size:4.05rem!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    padding-top:.2em!important;
  }
}
